2017-09-11 6 views
0

私は問題がありました。Javaプロジェクト(例:https://github.com/iluwatar/java-design-patterns/tree/master/bridge)をコンパイルする必要がありますが、それはmavenプロジェクトであり、slf4jをインポートする必要があります。コマンドラインでrepo maven(slf4j)を使ってJavaプロジェクトをコンパイルするには?

私はsudo apt-get install libslf4j-javaで試してみましたか、パッケージ(ここではhttps://www.slf4j.org/download.html)を手作業でダウンロードしましたが、javacを使用すると動作しません。

私はこのエラーを取得する:error: package org.slf4j does not exist

あなたが任意のアイデアを持っていますか?私はこのエラーに立ち往生していると私は似たような問題は見つかりませんでした...

EDIT:目標は私には難しいことです。

EDIT2:私はこれをやった:私はちょうど迷ってしまいましたこれを見たときに

javac -cp /usr/share/maven/lib/slf4j-simple.jar:java-design-patterns/bridge/src/main/java/com/iluwatar/bridge/App.java 
javac: no source files 
Usage: javac <options> <source files> 
use -help for a list of possible options 

javac -cp -sourcepath /usr/share/maven/lib/slf4j-simple.jar:java-design-patterns/bridge/src/main/java/com/iluwatar/bridge/App.java 
javac: file not found: /usr/share/maven/lib/slf4j-simple.jar:java-design-patterns/bridge/src/main/java/com/iluwatar/bridge/App.java 
Usage: javac <options> <source files> 
use -help for a list of possible options 

私が何をするか分からないが、それは、Mavenを持つので、簡単です。

私は2つのファイルを作成しました:(私はクラスを作成し、置く場所)(私はjarファイルを作成し、置く場所)jarをし、一時

EDIT 3:私はパッケージをダウンロードし、でそれを置きます。 それから、javac -classpath slf4j-1.7.25/slf4j-api-1.7.25-sources.jar -d temp java-design-patterns/bridge/src/main/java/com/iluwatar/bridge/*を使用します。 java とうまくいきました。コマンドラインからのコンパイル

+1

javac -cpを使用しましたか? https://stackoverflow.com/questions/2096283/including-jars-in-classpath-on-commandline-javac-or-apt – Vijay

+0

これには依存関係管理を行う必要があります。 'pom.xml'を開き、そこでslf4jを追加してください。 – fukanchik

+0

リンクを見ると、gitのrepoにはpom.xmlがあり、既にslf4jが使用されています。 @fukanchik – Samix

答えて

1

javac、適切に渡す引数を呼び出して実行する必要がありますあなたの場合は

javac -cp lib1.jar:lib2.jar:lib3.jar... <source files> 

javac -cp /usr/share/maven/lib/slf4j-simple.jar java-design-patterns/bridge/src/main/java/com/iluwatar/bridge/*.java 

P.S:コマンドラインtrhoughコンパイルは本当に迷惑です。すでにMavenプロジェクトであるため、Mavenを使用することをお勧めします。

+0

dlバージョンと-classpath(-cp)を使ってうまくいきました。 – Samix

関連する問題