0
在我的項目中,我連接到一個mysql數據庫。要將我的jar部署到jboss保險絲上,我需要將mysql-connector-java添加到deploy文件夾。你有一個想法如何打包我的項目提供一個單一的罐子?包裝maven項目jboss保險絲
在我的項目中,我連接到一個mysql數據庫。要將我的jar部署到jboss保險絲上,我需要將mysql-connector-java添加到deploy文件夾。你有一個想法如何打包我的項目提供一個單一的罐子?包裝maven項目jboss保險絲
嵌入您的包內一個罐子做到以下幾點:
1)聲明爲一個依賴
<dependencies>
<dependency>
<groupId>com.your.company</groupId>
<artifactId>your-needed-jar</artifactId>
<version>1.3.4</version>
</dependency>
<dependencies>
2)告訴maven-bundle-plugin嵌入它。
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.1</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Embed-Dependency>your-needed-jar</Embed-Dependency>
<Import-Package>
eventually.unneded.pkg;resolution:="optional",
*
</Import-Package>
<Export-Package>
com.your.company.app.exportedpkg
</Export-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
雖然這項工作在一般情況下,有可能是其做了很多運行時類和代理類生成(如奧姆斯)的庫類加載的問題。
恕我直言,更好的方法是從JBoss Fuse本身提供庫。要做到這一點:
1)複製mysql-connector-java-xxx.java
在JBoss中保險絲lib /目錄
2)中的JBoss等/保險絲目錄
3)編輯config.properties
com.mysql.jdbc
包添加到列表中
org.osgi.framework.system.packages= \
...
org.apache.karaf.diagnostic.core;version="2.4.0.redhat-621084", \
com.mysql.jdbc;version="xxx", \
現在你不需要將庫嵌入到你的包中,你可以直接導入它。系統包(ID:0)正在導出它。
如需進一步參考,本PDF文件可能會提供有用信息:Red Hat JBoss Fuse 6.2 Managing OSGi Dependencies