![](/img/trans.png)
[英]Gradle is publishing source and Javadoc JARs, but not source JAR
[英]Source and Javadoc jar generation
我认为我的问题很简单。 然而令人惊讶的是,我找不到任何简单的解决方案。
我正在Netbeans上开发一个开源Java库项目,像其他许多我想将它发布为binary.jar,source.jar和javadoc.jar。
有没有办法在Netbeans上自动生成它们? 我知道maven可以做到。 但学习曲线似乎太长了。
有一个类似的问题,但唯一的答案不起作用: 在Netbeans中自动生成源和文档罐
这是我最后提出的解决方案。 它使用Ant并生成javadoc和源jar。 然后它将二进制jar,javadoc,source.jar,license和readme文件存档到一个准备发布的zip文件中。
<target name="-pre-init">
<property file="version.properties"/>
<property name="dist.jar" value="dist/${ant.project.name}-${project.version}.jar"/>
</target>
<target description="bundle sources in a jar" name="package-sources">
<jar basedir="src" destfile="build/release/${ant.project.name}-${project.version}-sources.jar"/>
</target>
<target name="package_for_release" depends="jar,javadoc, package-sources">
<mkdir dir="build/release"/>
<copy file="${dist.jar}" todir="build/release/"/>
<copy file="licence.txt" todir="build/release/"/>
<copy file="beni_oku.txt" todir="build/release/"/>
<mkdir dir="build/release/doc"/>
<copy todir="build/release/doc">
<fileset dir="dist/javadoc" includes="**"/>
</copy>
<zip basedir="build/release/" includes="**" destfile="dist/${ant.project.name}-${project.version}.zip"/>
</target>
在NetBeans中打开build.xml而不是右键单击 - >运行目标 - > [其他目标] - > package_for_release
脚本从属性文件中获取版本号。 我从这里得到了这个解决方案。
这是将源和javadoc自动附加到构建所需的所有maven配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-source</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
这不是太可怕了,是吗?
试试蚂蚁http://ant.apache.org/ 。 它比maven更容易学习,可以进行代码编译。
你可以回答Maven插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.0.4</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
使用ant,您可以轻松生成javadoc,编译,创建jar和zip文件。 它比netbeans更好,因为如果有人想贡献,他可以用他喜欢的IDE做到这一点。
如果您正在开发其他人可能帮助开发的库,那么您应该考虑使用Maven 。
这样,您的项目将独立于您的IDE,并且依赖性,测试和部署将集中处理,而不是自己的贡献者自己滚动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.