首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Netbeans清单

Netbeans清单
EN

Stack Overflow用户
提问于 2009-08-06 05:15:35
回答 6查看 38.8K关注 0票数 23

是否可以将条目添加到netbeans生成的jars的manifest.mf文件中?

例如,要构建一个osgi包。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-04 20:53:52

请注意,您可以通过ant任务动态创建清单并动态设置属性。

首先,您必须更新在"nbproject“目录中找到的Netbeans "project.properties”文件。将以下行添加到文件中:

代码语言:javascript
复制
manifest.file=manifest.mf

接下来,使用"build.xml“文件创建一个ant任务来创建/更新清单。在本例中,我们将设置jar文件的版本号和日期。

代码语言:javascript
复制
<target name="-pre-init">
   <property name="project.name" value="My Library" />
   <property name="version.num" value="1.4.1" />
   <tstamp>
      <format property="NOW" pattern="yyyy-MM-dd HH:mm:ss z" />
   </tstamp>

   <!--
   <exec outputproperty="svna.version" executable="svnversion">
       <arg value="-c" />
       <redirector>
           <outputfilterchain>
               <tokenfilter>
                   <replaceregex pattern="^[0-9]*:?" replace="" flags="g"/>
                   <replaceregex pattern="M" replace="" flags="g"/>
               </tokenfilter>
           </outputfilterchain>
       </redirector>
   </exec>
   -->


   <manifest file="MANIFEST.MF">
      <attribute name="Bundle-Name" value="${project.name}" />           
      <attribute name="Bundle-Version" value="${version.num}" />
      <attribute name="Bundle-Date" value="${NOW}" />
      <!--<attribute name="Bundle-Revision" value="${svna.version}" />-->
      <attribute name="Implementation-Title" value="${project.name}" />
      <attribute name="Implementation-Version" value="${version.num}" />
      <attribute name="Implementation-URL" value="http://www.example.com" />
   </manifest>

</target>

这将在netbeans项目目录中创建一个清单文件,并将其填充到您的jar文件中。如果您想从netbeans项目目录中删除自动生成的清单文件,只需创建另一个ant任务(当然是post jar ):

代码语言:javascript
复制
<target name="-post-jar">
  <delete file="MANIFEST.MF"/>
</target> 
票数 22
EN

Stack Overflow用户

发布于 2009-10-22 22:49:17

有趣的信息可能在这里:

http://wiki.netbeans.org/FaqNoMainClass

票数 6
EN

Stack Overflow用户

发布于 2010-09-26 14:38:28

我有一个带有定制清单文件的Java类库项目--非常适合OSGI包。要使其正常工作,首先编辑project.properties并设置:

代码语言:javascript
复制
manifest.file=manifest.mf
manifest.available=true

在项目目录中创建您自己的自定义manifest.mf文件。

(在这一点上,如果你尝试一个干净的/构建,你仍然不会得到你的自定义清单文件- NetBeans会提供它自己的文件。这是因为build-impl.xml Ant目标“-do- JAR - with -libraries This manifest”在"-do-jar-with- manifest“之后立即被调用,用默认的NetBeans清单JAR覆盖您的自定义清单JAR文件。)

将自定义目标添加到build.xml文件,如下所示:

代码语言:javascript
复制
<target name="-do-jar-with-libraries-without-manifest">
    <!-- Inserted to prevent target from running so we can have a custom
         manifest file with a class library project type. -->
</target>

在NetBeans 6.7.1中测试

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1237084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档