gpt4 book ai didi

java - 如何在持续集成服务器中使用 FatJar(在 Eclipse 之外)?

转载 作者:行者123 更新时间:2023-11-29 04:00:08 24 4
gpt4 key购买 nike

据我了解,FatJar 是一个基于 OSGi 框架的 Eclipse 插件。我相信这使得它很难在 OSGi 平台之外使用。此外,查看反编译的 FatJar,它似乎需要大量 OSGi 和 Eclipse 类,例如 org.eclipse.jdt.core.IJavaProjectorg.osgi.framework.BundleContext,例如。

因此,在这一切之前,我想知道是否有任何方法可以将我们宝贵的 *.fatjar 文件与 Hudson 一起使用(使用脚本或其他方式)。

欢迎任何好的建议!谢谢!

最佳答案

经过更多的工作和研究,尽管 FatJar 主要是一个 Eclipse 插件,但似乎可以很容易地将它集成到持续集成服务器中。

就我而言,使用 Ant,我发现可以使用以下代码(最初来自 this site)在 Eclipse 之外运行 FatJar 插件。

<project name="FatJar MySuperDuperClass.jar (experimental)" default="main" basedir=".">
<!-- this file was created by Fat-Jar Eclipse Plug-in -->
<!-- the ANT-Export is in a very early stage, so this -->
<!-- is only experimental, ANT 1.6 or above is -->
<!-- required, feedback is always welcome: -->
<!-- http://sourceforge.net/projects/fjep -->
<!-- uncomment the following lines if using ANT outside Eclipse -->
<!--
<property name="fjepPath" value="plugins/net.sf.fjep.fatjar_0.0.31/fatjar.jar"/>
<taskdef name="fatjar.build" classname="net.sf.fjep.anttask.FJBuildTask" classpath="${fjepPath}"/>
<typedef name="fatjar.manifest" classname="net.sf.fjep.anttask.FJManifestType" classpath="${fjepPath}"/>
<typedef name="fatjar.exclude" classname="net.sf.fjep.anttask.FJExcludeType" classpath="${fjepPath}"/>
<typedef name="fatjar.jarsource" classname="net.sf.fjep.anttask.FJJarSourceType" classpath="${fjepPath}"/>
<typedef name="fatjar.filesource" classname="net.sf.fjep.anttask.FJFileSourceType" classpath="${fjepPath}"/>
-->
<!-- uncomment the above lines to use ANT outside of Eclipse -->
<target name="main">
<fatjar.build output="MySuperDuperClass.jar">
<fatjar.manifest mainclass="de.schwobeseggl.test.MySuperDuperClass"/>
<fatjar.filesource path="bin" relpath=""/>
<fatjar.jarsource file="lib/commons-cli.jar" relpath=""/>
<fatjar.jarsource file="lib/jbossall-client.jar" relpath=""/>
<fatjar.jarsource file="lib/junit.jar" relpath=""/>
<fatjar.jarsource file="lib/log4j.jar" relpath=""/>
<fatjar.jarsource file="lib/jdom.jar" relpath=""/>
</fatjar.build>
</target>
</project>

我在开始时取消了 6 行 block 的注释,它运行良好。阅读顶部的评论,这似乎是使用 FatJar 本身导出的,但不知道如何执行此操作。我只是根据我的用例调整了这个示例。

关于java - 如何在持续集成服务器中使用 FatJar(在 Eclipse 之外)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com