8

私の中に次のターゲットがありますbuild.xml

<target name="-pre-compile">
    <property file="build.properties"/>
    <buildnumber file="build.version"/>
    <tstamp>
        <format property="timestamp" pattern="yyyy-MM-dd HH:mm:ss"/>
    </tstamp>
    <manifest file="manifest.mf">
        <attribute name="MAJOR" value="${version.major}"/>
        <attribute name="MINOR" value="${version.minor}"/>
        <attribute name="RELEASE" value="${release}"/>
        <attribute name="BUILD" value="${build.number}"/>
        <attribute name="BUILD-DATE" value="${timestamp}"/>
        <attribute name="PROTOCOL" value="${protocol}"/>
        <attribute name="APPCODE" value="${appcode}"/>
    </manifest>    
</target>

正常に動作し、Netbeans 内でクリーンとビルドを行った後に開くmanifest.mfと、追加したすべての追加属性が表示されます。ただし、jar ファイルを開くと、デフォルトのものだけが含まれていることがわかります。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0-b147 (Oracle Corporation)

1 つのプロジェクトに 2 つのパッケージがある前に、これは正常に機能していました。1 つのパッケージは、他のプロジェクトに使用するすべてのライブラリのものであったため、ライブラリ jar を単独でビルドできるように、それを別のプロジェクトに分割することにしました。今、私はこの問題を抱えています。ライブラリを単独でコンパイルするときと、ライブラリに依存する他のプロジェクトをコンパイルするときの両方で発生します。

4

7 に答える 7

4

nbproject/project.properties開いて最後に追加することで修正しましたmanifest.file=manifest.mf。そのような単純な。

于 2013-03-11T16:52:52.370 に答える
3

ここでこの回答を確認してください: Netbeans 6.7.1 でコンパイルされた Java ライブラリにカスタム マニフェストを追加することは可能ですか?

私はあなたと同じ問題を抱えていました.build.xmlの最後にこれを追加すると問題が解決しました:

<target name="-post-jar">
 <jar destfile="${dist.jar}" update="true">
    <manifest>
        <attribute name="Manifest-Version" value="1.0" />           
        <attribute name="Extension-Name" value="polpol" />
        <attribute name="Class-Manager" value="org.nlogo.extensions.polpol.Manager" />
        <attribute name="NetLogo-Extension-API-Version" value="5.0" />
    </manifest>
 </jar>
</target>
于 2014-09-12T10:17:25.317 に答える
2

私はあなたがここで抱えているのと同じ問題に遭遇しましたが、幸運にもそれを修正しました。残念ながら、何が問題を引き起こしたのか正確にはわかりません。あなたのコードと私のコードを比較した後、実際に見える唯一の違いは、build.xml のマニフェスト ファイルの名前と、タスクをトリガーするイベントです (pre init を使用しました)。 . すべて大文字で、マニフェストのバージョン情報を、dist ディレクトリ -post-jar に作成される Version.txt ファイルで補足します。あなたはちょうど作りたいと思うかもしれません

マニフェスト ファイル="manifest.mf"

読んだ

マニフェスト ファイル="MANIFEST.MF"

これは、私の build.xml の重要な部分のコピーです。

<property name="project.name" value="VOXManagement" /> 
    <property name="version.num" value="1.1" /> 
    <target name="-pre-init"> 
       <tstamp> 
          <format property="NOW" pattern="yyyy-MM-dd HH:mm:ss z" /> 
       </tstamp> 
       <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}" /> 
       </manifest>  
       <echo file="Version.txt">V${version.num}</echo>     
    </target>
    <target name="-post-jar">
        <copy file="Version.txt" todir="dist" overwrite="true"/>    
        <delete file="dist/README.TXT"/>
    </target>
于 2013-03-06T16:11:01.033 に答える
1

「更新モード」を使用する必要があります。

<manifest file="${manifest.file}" mode="update">

于 2013-03-08T16:28:33.390 に答える
1

Thihara が既に尋ねたように、jar を構築するタスクがあるかもしれません。create jar (または同様のもの) タグ/タスクに manifest="MANIFEST.MF" がありますか?

<target name="jar">
        <jar   manifest="path-to/MANIFEST.MF" basedir="base dir" destfile="outJarfileName">
        </jar>
    </target>
于 2013-03-11T16:36:09.653 に答える
0

Netbeans 7.3.Xでは 、build.xml で.warを使用します。

<manifest file="${build.web.dir}/META-INF/MANIFEST.MF">...</manifest>
于 2014-12-29T21:07:32.003 に答える
0

Jars、Wars、Ears の作成中、MANIFEST.MF でよくある問題は次のとおりです。

「マニフェスト バージョン: 1.0 Ant バージョン: Apache Ant 1.9.4 作成者: 1.7.0_40-b43 (Oracle Corporation)」

Ant-Version Number を無視して Created by filesetmanifest="mergewithoutmain" オプションを使用する場合。

<jar destfile="MyJar.jar" basedir="./bin" filesetmanifest="mergewithoutmain"  manifest="./src/META-INF/MANIFEST.MF" update="true" >
于 2014-10-13T18:34:18.670 に答える