2010-06-24 14 views
7

Ho un programma che utilizza getClass().getClassLoader().getResource() per ottenere un URL in una directory, funziona bene quando è in eclissi, ma dopo jared restituisce null.Come rendere Maven "aggiungi voci di directory" durante il confezionamento?

Secondo questo URL: http://www.coderanch.com/t/385935/java/java/getResource-path-fails-Jar

Il problema ha determinato perché il percorso in sé non esisteva nel vaso. I file con il percorso esistevano, ma non il percorso stesso. Stavo usando il comando di esportazione "File JAR eseguibile" in Eclipse. Quando ho provato l'esportazione più vecchia "Jar file" per creare il barattolo, I ho notato una casella di controllo per "aggiungi directory voci" e quella era la soluzione. Il file Jar aveva bisogno della directory voce da sola nel jar per getResource() per restituire l'URL per il percorso.

Ma in errore, non riesco a trovare comandi di questo tipo per "aggiungere voci di directory" durante il confezionamento, qualcuno può darmi un suggerimento? Molte grazie !

Env: Eclipse 3.5, m2eclipse, Maven 2.2.1

+0

puoi aggiungere la struttura del progetto e il percorso al file a cui stai tentando di accedere? –

risposta

0

Se si utilizza una configurazione standard Maven 2, la directory ei file sarebbero stati posti sotto src/main/risorse. Se sono altrove, devi definire dove si trovano le tue risorse.

<build> 
    <resources> 
     <resource> 
     <directory>path to my resources</directory> 
     </resource> 
    </resources> 
+0

Grazie, ma sembra non funzionare ... forse sono i problemi del classloader del server ... (Resin) – smallufo

0

è necessario includere un descrittore di assembly e creare le directory.

+0

Ciao, puoi essere più specifico? – smallufo

Problemi correlati