Domanda

Come devo esattamente specificare la posizione di tutti i file delle proprietà all'interno del manifest di formica?

Il mio vaso non funziona perché non riesce a trovare le proprietà log4j, Spring, ecc.

Questi file sono tutti contenuti in una cartella chiamata " server-config " che si trova allo stesso livello del codice sorgente, ovvero:

  • META-INF
  • com
  • del server-config

In sostanza, voglio sapere cosa devo aggiungere alla proprietà Class-Path affinché il jar sia a conoscenza di tutti questi file delle proprietà all'interno della cartella server-config.

Ecco il mio compito attuale:

<jar destfile="${root.home}/onejar/build/main/main.jar" basedir="${build.home}">
        <manifest>
            <attribute name="Class-Path" value=".;server-config" />
        </manifest>
        <include name="com/mycompany/client/*"/>
        <include name="com/mycompany/portable/util/*"/>
        <include name="com/mycompany/request/*"/>
        <include name="com/mycompany/model/*"/>
        <include name="com/mycompany/controller/*"/>
        <include name="com/mycompany/helpers/*"/>
        <include name="server-config/*"/>
    </jar>

Ho provato alcune cose e nessuna di esse funziona, continuo a ricevere errori a causa del file non trovato.

Qualsiasi aiuto sarebbe molto apprezzato!

È stato utile?

Soluzione

Puoi rimuovere l'intera parte <manifest... - non è quello che fa l'attributo manifest Class-Path. È per cose esterne al JAR.

La riga <include name="server-config/*"/> dovrebbe funzionare - se la directory server-config esiste all'interno della tua directory $ {build.home}. Probabilmente hai bisogno di un'attività per copiarli lì - dici che il codice sorgente si trova allo stesso livello, ma non dici dove sono compilati .

Un esempio -

<mkdir dir="${build.dir}/server-config"
<copy todir="${build.dir}/server-config">
  <fileset dir="${src.dir}/server-config">
    <include name="*"/>
  </fileset>
</copy>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top