2011-01-04 44 views
10

私はThe Java Archive Toolに従ったが、フォルダを除外する方法は見つからなかった。jarコマンドを実行する除外ファイル

workingcopy 
--src 
    --.svn 
    -- com 
--.svn 
--WebContent 

私はコンパイルしての.svnディレクトリから始まるすべてのフォルダを除くsrcの下でのみのクラスからjarファイルを作成したいと思います:

は例えば、私は作業コピーディレクトリの下のファイルを持っています。私はcmdのようにjar -cf test.jarなどから実行します。

どのようにすればいいですか?

答えて

2

のようなビルドツールで(他の多くのものと一緒に)達成された:それはは、Subversionのディレクトリ(ディレクトリ)を除外しません。

jar -cf test.jar *.class 

さらに強化:クラスファイルとは別のコードだけでクラスファイルを(と仮定して、あなたはバージョン管理下にないプットクラスファイルを実行する)が含まれます。あなたはとにかく(アーティファクトをビルド)クラスファイルをチェックインする必要はありません:

workingcopy 
--src 
    --.svn 
    -- com // only *.java files in here and below 
--.svn 
--WebContent 
--bin 
    --com // only *.class files in here and below 
+0

私はそこにJavaクラスしか持っていません。 jarやANT以外のコマンドラインを介してクラスにコンパイルすることはできますか? – Dejell

+0

@Odelya - Javaソースファイルをコンパイルするのに 'javac'を使い、ライブラリを作るために(オプション)' jar'を使います。 'jar'はコンパイルできませんし、* antやmavenが必要ではありませんが、特にantはビルドプロセスを大幅に簡素化します(しかし、antの基礎を学ぶ/理解する必要があります)。 mavenはさらに単純化しますが、mavenはいくらか理解するのが難しいです。また、(永続的な)インターネット接続が必要です。 –

+0

@Anderas_Dはい私はMavenと一緒に作業しましたが、Eclipseのプラグインが余分な作業を引き起こし、すべてがコンパイルされていないので、好きではありませんでした。良いプラグインが見つかるまで、私はMavenとpom.xmlに戻ってほしくない。私はANTの使い方を知っていますが、FinalBuilderを使わずにbuild.xmlの外部ファイルから実行するのは簡単でした。 – Dejell

0

jarプログラムのようには見えません。これを行うことができます。あなたは、探しているものを達成するために、他のタイプのスクリプトを追加する必要があります。

あなたはウィンドウを使用しているようですが、私の推測では、この欠けている部分をこのように書くことができるということです。

これが役に立ちます。

1

これは簡単にこれがあなたの問題のための実用的な回避策かもしれないmavenantgradle

0

javamonkey79で言ったように、私はあなただけjarツール自体でこれを行うことができtthink「ドン。あなたがするべきことは、antとそのjar taskを検討することです。

1

「SVNにエクスポート」という概念があります。それを使用すると、.svnリポジトリなしの構造が得られます。チェックアウトとは若干異なります。

これ以降、リポジトリフォルダではなく、そのディレクトリから通常のjarコマンドを実行できる必要があります。

18

これは、コマンドを使用して行うことができます。

jar cf test.jar `find . -not -path "*/.svn/*" -not -type d` 

jarの問題は、ディレクトリが渡された場合、それはすべてコンテンツを再帰的に追加されるということです。だから私たちの目標は、パスに `.svn '部分文字列を持たないものだけとファイルだけを渡すことです。この目的のためにfindコマンドは2つの条件で使用されています

  1. -not -path "*/.svn*"フィルタアウトすべてのsvnファイルを
  2. -not -type dフィルタアウトすべてのディレクトリを

しかしこれはjarファイルから空のディレクトリを除外します。

+0

これにより、ビルド時間が大幅に短縮されました。ありがとうございました。 – SomeGuyOnAComputer

関連する問題