2017-06-13 16 views
0

Javaのjarファイル内に格納されているxmlファイルを変更しようとしています。jar内の.xmlファイルを置換する

私のプログラムは、jarファイルからXMLファイルを読み込んで使用してそれにいくつかの変更を行います

javax.xml.parsers.DocumentBuilder 
javax.xml.parsers.DocumentBuilderFactory 
org.w3c.dom.Document; 

これは問題なく動作します。私は、次のコード行を使用して、新しいXMLファイルにそれらの変更を記述します。

\t \t TransformerFactory transFactory = TransformerFactory.newInstance(); 
 
\t \t Transformer trans = transFactory.newTransformer(); 
 
\t \t DOMSource source = new DOMSource(doc); 
 
\t \t File tempStorage = new File("/some/directory/config.xml"); 
 
\t \t StreamResult result = new StreamResult(tempStorage); 
 
\t \t trans.transform(source, result);

完璧に動作します。この後、私は次のコンソールコマンドを使用して瓶にxmlファイルを追加します。

jar uf jarFile.jar "/some/directory/name.xml" 

これは、指定したディレクトリ内のjarファイルにxmlファイルを追加します。 jarファイルのベースディレクトリに追加したいと思います。

jarFolder/config.xml 

ませ

Iとして、単に「config.xmlの」動作しないとの一時格納ディレクトリを交換
jarFolder/some/directory/config.xml 

:私はjarファイルを解凍する場合たとえば、私は、フォルダ構造は、このようにしたいです日食を介して、プログラムを実行している、としてそれは、ファイルを格納しています:私は私のプログラムに関連付けられた緩いファイルの束を持っている、とすることができませんので、瓶の中に設定ファイルを保存しておきたい

理想的
jarFolder/eclipse/directory/eclipse.app 

s以前にプログラムを実行して作成されたゆるいファイルを確認することなく、config.xmlを読み込むことを意味します。私はまた、config.xmlがすでにjarファイルに格納されていることを述べておく必要があります。

答えて

0

次のようにディレクトリを参照してください。 -Cオプションを使用すると、ファイルを保存するターゲットディレクトリを指定するのに役立ちます。

jar uf jarFile.jar -C . "/some/directory/name.xml" 
関連する問題