我最近在使用Gradle构建的Web应用程序中包含了ActiveMQ 5.9.0。Gradle在构建期间在activemq-all-5.9.0依赖关系jar中编译java文件
compile "org.apache.activemq:activemq-all:5.9.0"
的问题是,由于的ActiveMQ,全5.9.0.jar配备了两个类文件,并在它的源java文件,当我建立使用下面的命令war文件,摇篮尝试编译activemq jar文件中的java文件并将它们包含在war中。
gradle clean war
在部署期间,由于那些编译activemq类,我的应用程序无法启动。手动从/ WEB-INF/classes中移除它们可以使应用程序正常工作。我正在寻找自动化的方式来排除这些java类成为我的战争文件。请帮忙吗?
谢谢彼得。我尝试了你的建议,但恐怕问题仍然存在。我没有检查Gradle论坛,发现类似的答案,但我不确定我错过了什么。恐怕我对gradle build很陌生。 ' 应用插件: '的java' 应用插件: '战争' 应用插件: '常规' tasks.withType(JavaCompile){options.compilerArgs + = [ “-sourcepath”, “ ''”]} //compileJava.options.compilerArgs = [ “-implicit:无”] 库{mavenCentral()} 依赖性{ 编译 “org.apache.activemq:ActiveMQ的全:5.9.0” ...... }' – MFIhsan
你的建议确实奏效。在Gradle论坛上,我还发现了另一种方法:compileJava.options.compilerArgs = [“-implicit:none”] – MFIhsan