<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-lib-ban</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<!-- the activation framework was renamed to jarkata activation framework -->
<excludes>
<exclude>javax.activation:javax.actication-api</exclude>
<exclude>com.sun.activation:javax.activation</exclude>
<exclude>javax.activation:activation</exclude>
</excludes>
<message>use jakarta.activation:jakarta.activation-api or com.sun.activation:jakarta.activation instead of javax.activation</message>
</bannedDependencies>
<!-- if you use com.sun.activation:jakarta.activation
<bannedDependencies>
<!- - the implementation com.sun.activation:jakarta.activation contains the api classes too - ->
<excludes>
<exclude>jakarta.activation:jakarta.activation-api</exclude>
</excludes>
<message>the implementation com.sun.activation:jakarta.activation is included and it contains the api classes too</message>
</bannedDependencies>
-->
</rules>
</configuration>
</execution>
</executions>
</plugin>
6条答案
按热度按时间zfciruhq1#
JavaBeans Activation Framework (JAF)可能是您正在寻找的现有软件包的替代方案。
此独立版本的JAF使用Java平台模块系统*自动模块*名称
java.activation
,以匹配JDK 9中使用的模块名称。未来的版本将包括完整的模块元数据。通过 * 可升级模块 * 的概念,仅支持模块化形式的独立API。使用它们,就可以在任何阶段使用该模块的后续版本,即。即在编译时、构建时或运行时。
目前可用的版本是
1.2.0
,可以这样使用:玛文
Gradle
艾薇
hs1rzwqc2#
JavaBeans Activiation Framework是一种独立的技术,在JCP中有自己的维护JSR和自己的下载。是的,Java SE 9已经弃用它,并建议在未来的版本中删除与Java EE共享的模块,但这不会影响独立版本。独立版本将继续存在。如果你使用Maven,那么这应该可以:
如果你正在开发一个模块,那么你可以使用
requires java.activation
。nkkqxpd93#
更新2020
(due到一些法律的的issues,
javax.*
变为jakarta.*
。目前的1。2.2+版本的Jakarta Activation Framework使用的名称:jakarta.activation:jakarta.activation-api
(代替javax.activation:javax.actication-api
)或com.sun.activation:jakarta.activation
(改为com.sun.activation:javax.activation
javax.activation:activation
)和(The这个库中的包名仍然是
javax.activation
,所以这个问题只是与Maven依赖项名称有关)或
注意:您不需要两个依赖项,因为
com.sun.activation:javax.activation
包含了jakarta.activation:jakarta.activation-api
中的类提示使用Maven enforcer使您的项目免于重复:
5kgi1eie4#
如上所述,java版本〉8不提供javax。activation.我在camel项目工作时遇到了这个例外。我刚刚添加了以下依赖项:
iugsix8n5#
我在我的项目中使用模块配置,所以这个问题通过将
requires java.activation
添加到module-info.java
文件中简单地解决了。p4rjhz4m6#
我必须用Liferay 7发送邮件。1所以我添加了这样的依赖关系
编译'javax。电子邮件:电子邮件:1.4.7'