在JBoss里打jar包发布的方法?

lord_is_layuping 2008-06-11 05:13:01
在JBoss里打jar包发布时,
把jar包打在deploy与把jar包打在lib下有什么区别吗?
c:\jboss-4.0.3SP1\server\default\deploy

c:\jboss-4.0.3SP1\server\default\lib

可不可以把只包打在其中一个文件夹下(deploy或lib)。
另外,打成的包可以随便命名吗?
...全文
491 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
uponcy 2008-06-17
  • 打赏
  • 举报
回复
是不是楼主误会了,项目是要打成XXX.war包,然后放到deploy下才行的

而项目中用到的一些jar包,你可以考虑放到lib下面,而不是随项目打到war包中
jr32 2008-06-13
  • 打赏
  • 举报
回复
在deploy下是不应该放xxx.jar包的,因为jar包里面通常是放只class文件的.应放到lib下.一般把我们开发的应用程序打包为war或ear.
你的jar包放在deploy下能够部署,是因为jboss的TomcatDeployment会把depoy下的xxx.jar,复制为D:\OpenSource Soft\jboss-4.0.3SP1\server\default\tmp\deploy\xxx.jar.xxxx-exp.war.
这样,这个jar包被当做一个war包来部署了.
看你的jar包有jboss.xml, ejb-jar.xml,应该是一个web应用,应该打包为war或ear发布.


............................................................
D:\OpenSource Soft\jboss-4.0.3SP1\server\default\deploy
¦
XXX.jar
¦
¦
¦
META-INF
¦
¦_MANIFEST.MF
¦_jboss.xml
¦_ejb-jar.xml
lord_is_layuping 2008-06-13
  • 打赏
  • 举报
回复
但我们的D:\OpenSource Soft\jboss-4.0.3SP1\server\default\deploy里确实打了jar包。我用
winrar看了一下,里面文件如下:
D:\OpenSource Soft\jboss-4.0.3SP1\server\default\deploy
|
XXX.jar
|
|
|
META-INF
|
|_MANIFEST.MF
|_jboss.xml
|_ejb-jar.xml
lord_is_layuping 2008-06-12
  • 打赏
  • 举报
回复
如果是放在lib下,jboss 的classloader会自动把该jar载入.
jar包直接放在deploy下是不会被jboss自动载入的.你可以把jar放在war包的Lib下,例如deploy\xx.war\WEB-INF\lib.

但有个限制就是xx.war包类的jar不能被其他war的应用所调用.例如:
deploy下有A.war\WEB-INF\lib\a.jar, 和B.war\WEB-INF\lib\b.jar,
A.war中的应用程序就不能找到或使用b.jar中的class.
同理B.war中的应用程序不能使用a.jar中的class.

希望对你有用.

<<是不是说打一个jar包直接放在deploy下(如deploy/*.jar),什么作用也没有啊。


deploy下
<<怎么deploy啊?
jr32 2008-06-12
  • 打赏
  • 举报
回复
< <是不是说打一个jar包直接放在deploy下(如deploy/*.jar),什么作用也没有啊。
是的.

也许我没说清楚,假设c:\jboss-5.0.0.Beta4是你放jboss的路径.
在jboss的目录下,你可将jar 放在如下目录:
c:\jboss-5.0.0.Beta4\server\default\deploy\xx.war\WEB-INF\lib\xxx.jar


或是c:\jboss-5.0.0.Beta4\server\default\lib\xxx.jar


gabriel80 2008-06-12
  • 打赏
  • 举报
回复
deploy下
jr32 2008-06-11
  • 打赏
  • 举报
回复
如果是放在lib下,jboss 的classloader会自动把该jar载入.
jar包直接放在deploy下是不会被jboss自动载入的.你可以把jar放在war包的Lib下,例如deploy\xx.war\WEB-INF\lib.

但有个限制就是xx.war包类的jar不能被其他war的应用所调用.例如:
deploy下有A.war\WEB-INF\lib\a.jar, 和B.war\WEB-INF\lib\b.jar,
A.war中的应用程序就不能找到或使用b.jar中的class.
同理B.war中的应用程序不能使用a.jar中的class.

希望对你有用.

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧