我在JBoss 4.3-eap上部署带有捆绑的war,jar和配置文件(.properties文件)的耳朵时遇到问题。这是我的耳朵结构:
+app.ear
+lib
*.jar libraries that the war's use
+classes
*.properties and other configuration files
+META-INF
application.xml
jbos-app.xml
app.war
app2.war
appn.war
我的jboss-app.xml中包含以下内容:
<jboss-app>
<jmx-name>app.startup.JbossStartUpServer:service=JbossStartUpService</jmx-name>
</jboss-app>
我的application.xml看起来像这样:
<application id="app_id">
<display-name>App>/display-name>
<description>TheApp>/description>
<!--
<module id="core">
<java>lib/core.jar</java>
</module>
<module id="tag">
<java>lib/tag.jar</java>
</module>
-->
<module id="app">
<web>
<web-uri>app.war</web-uri>
<context-root>/</context-root>
</web>
</module>
<module id="app2">
<web>
<web-uri>app2.war</web-uri>
<context-root>/app2</context-root>
</web>
</module>
<module id="appn">
<web>
<web-uri>appn.war</web-uri>
<context-root>/appn</context-root>
</web>
</module>
<security-role id="secRole">
<description>users</description>
<role-name id="appRoleName">users</role-name>
</security-role>
<library-directory>lib</library-directory>
</application>
基本上,在部署耳朵时,我遇到了一个问题,其中我的一场大战无法在core.jar
文件(java.lang.NoClassDefFoundErro
r)中找到类。我认为这是由于战争没有找到该库,即使它在lib
文件夹/
classpath中也是如此。如果我尝试取消注释前两个模块以添加第一方库(core.jar
和tag.jar
)的注释,突然之间将找不到属性文件(目前它们位于lib/classes
,所以无论如何我希望它们是理想情况下,我想将类放在其自己的目录中,并将其分别添加到类路径中,但现在我只是想使此工作生效)。
我尝试了一些其他操作,包括手动添加core.jar
到war的manifest.mf
文件,UseJBossWebLoader
在jboss- service.xml
下方的文件中更改为true jboss- web.deployer
以及上述各种组合,均未成功。我classes
从类路径(lib
文件夹)中丢失了目录,而我的任何属性文件都没有被拾取,或者战争无法从罐子中访问适当的类。我认为肯定有一些错误的配置,尽管我尝试阅读JBoss进行EAR部署和类加载的方式,但似乎无法使其适应当前的设置。
任何建议将不胜感激。
这是我一直在查看的一些站点:
Raible Designs JBoss ClassLoader
Logic
这些只是我浏览过的一些网站。问题也可能来自项目的设置,因为这是一个已建立的大型项目,在某种程度上,它已从Weblogic部署迁移到Jboss。因此,如果应该执行任何操作,但不能执行任何操作,则可能与某些代码/项目配置有关。不幸的是,我现在还无法判断这是与JBoss相关的问题,还是项目的问题。
该<library- directory>
标签中application.xml
是JavaEE5的功能,我不认为JBoss的4.3是完全JavaEE5兼容的(它可以做EJB3,是的,但它只是部分支持)。
因此,您需要返回使用显式声明的JAR文件:
<module>
<java>lib/core.jar</java>
</module>
至于属性文件,您需要将它们所在的目录添加为Java模块,因此对于您的示例:
<module>
<java>lib/classes</java>
</module>
问题内容: 我在Tomcat中部署了WAR文件。另外我还有一个JAR文件。 是否可以使JAR文件中的类可用于WAR文件中的服务而无需更改WAR文件,或者是否已将其添加到WAR的WEB-INF / lib中? 我尝试将JAR添加到中,但不起作用。启动时,Spring会出现org.springframework.beans.factory.BeanCreationException»java.lang
在尝试学习如何使用storm时。我决定编译我自己的著名WordCount拓扑实例,看看它是如何实现的。代码与示例完全相同。(https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/WordCountTopology.java) 然而,每当我尝试运行jar时
我一直在努力让FindBugs(2.0.1)作为命令行Ant构建的一部分运行。我下载了FindBugs JAR并将其提取到/home/myuser/java/repo/umd/FindBugs/2.0.1/findBugs-2.0.1: 正如您在屏幕截图中看到的,在/home/myuser/java/repo/umd/findbugs/2.0.1/findbugs-2.0.1/lib下面有一个名为
问题内容: 我有一个命令行应用程序,可以下载一些报告,进行处理,然后将数据上传到Google云端硬盘。我正在为所有需要的魔术字符串使用Typesafe- Config 。Typesafe- Config在我的application.conf文件的类路径上查找并使用HOCON将配置对象映射到我的类中的字段,如下所示: 来自: 来自: 我正在使用来构建可执行文件.jar以便在远程服务器上轻松部署。该插
问题内容: 我不太确定是什么原因导致的,因为清单中正确列出了它: 我还添加了来构建路径,并将其移至的顶部,但是它仍然给我同样的错误。 编辑:我完全重建了该项目,并且无法重现该错误。不知道是什么原因造成的。 问题答案: 我的项目有同样的问题。这是由于我的项目与我在项目中添加的库项目之间的android支持库版本冲突而发生的。将相同版本的android支持库放入您的项目和包含的库项目中,并清理构建 …
问题内容: 我目前正在一个项目中,我必须使用纯本地ndk。当我尝试从Irrlicht引擎源运行helloworld示例时,它起作用了。然后,按照该示例的相同格式尝试在我的项目中使用它。但是我得到了: 在运行我的项目时。 这是我的main.cpp文件: n Android.mk: 我在AndroidManifest.xml中给了Activity名称: 我在这里做什么错?如有必要,我将发布完整代码。