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

时间:2022-11-28 09:16:47
在JBoss里打jar包发布时,
把jar包打在deploy与把jar包打在lib下有什么区别吗?
c:\jboss-4.0.3SP1\server\default\deploy

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

可不可以把只包打在其中一个文件夹下(deploy或lib)。
另外,打成的包可以随便命名吗?

7 个解决方案

#1


如果是放在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.

希望对你有用.

#2


deploy下

#3


如果是放在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啊?

#4


< <是不是说打一个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


#5


但我们的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  

#6


在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           
                                                            ¦             
                                                            &brvbar_MANIFEST.MF 
                                                            &brvbar_jboss.xml   
                                                            &brvbar_ejb-jar.xml  

#7


是不是楼主误会了,项目是要打成XXX.war包,然后放到deploy下才行的

而项目中用到的一些jar包,你可以考虑放到lib下面,而不是随项目打到war包中

#1


如果是放在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.

希望对你有用.

#2


deploy下

#3


如果是放在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啊?

#4


< <是不是说打一个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


#5


但我们的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  

#6


在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           
                                                            ¦             
                                                            &brvbar_MANIFEST.MF 
                                                            &brvbar_jboss.xml   
                                                            &brvbar_ejb-jar.xml  

#7


是不是楼主误会了,项目是要打成XXX.war包,然后放到deploy下才行的

而项目中用到的一些jar包,你可以考虑放到lib下面,而不是随项目打到war包中