【发布时间】:2015-03-28 14:23:25
【问题描述】:
我正在尝试运行一个包含axis2依赖项的spring boot jar。我正在使用 spring boot maven 插件来构建 jar(带有依赖项)。当我尝试运行我的 jar 时,我的控制台中出现以下异常:
org.apache.axis2.AxisFault: The G:application\myapp\target\myapp.jar!\lib\axis2-1.6.1.jar file cannot be found.
at org.apache.axis2.deployment.repository.util.DeploymentFileData.setClassLoader(DeploymentFileData.java:111)
at org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:70)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813)
at org.apache.axis2.deployment.RepositoryListener.loadClassPathModules(RepositoryListener.java:222)
at org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:71)
at org.apache.axis2.deployment.RepositoryListener.<init>(RepositoryListener.java:64)
at org.apache.axis2.deployment.DeploymentEngine.loadFromClassPath(DeploymentEngine.java:175)
at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:135)
at ...
然后我检查了我的罐子的结构。它里面有 lib 文件夹,其中包含所有的 jars(包括上面提到的轴 jar)。附上lib文件夹的截图。 以下是我尝试过的解决方案:
- 将轴 jar 放在与应用程序 jar 相同的目录中。
- 在与应用程序 jar 相同的目录中创建 lib 文件夹,并将轴 jar 放入其中。
- 已修改清单文件以包含类路径:/lib/
所有解决方案均无效。但是,当我在 Eclipse 中运行应用程序类时,应用程序会启动并完美运行。但是,一旦我创建了 jar,似乎什么都没有运行。
有人可以帮忙吗?提前致谢。
【问题讨论】:
-
spring-boot-loader 模块允许应用程序从嵌套的 jar 中加载类,这非常酷,但似乎axis2 试图自行“部署”jar,我不确定那是什么意思是,找不到。您可能必须在外部提供 jar
-
如何手动提供jar?我已经尝试将它包含在类路径中,但它不起作用:(
-
能不能打包成war文件部署到外部tomcat上?
-
我没有安装tomcat,也不认为可以在服务器上安装它。我们只能依赖spring boot tomcat插件:(
-
hm,你把 jar 放在类路径上的方式一定有问题
标签: spring maven spring-boot axis