我有一个问题,我必须编译一个java项目(例如:https://github.com/iluwatar/java-design-patterns/tree/master/bridge)但它是一个maven项目,我必须导入slf4j。
我已尝试使用sudo apt-get install libslf4j-java
或手动下载程序包(此处为https://www.slf4j.org/download.html),但在使用javac
时它无法正常工作。
我收到此错误:error: package org.slf4j does not exist
你有什么想法吗?我坚持这个错误,我没有发现任何类似的问题......
编辑:目标是在没有maven的情况下编译,这对我来说很难。
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个文件:jars(我将创建并放置jar)和temp(我将创建并放置类)
编辑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 它运作良好。
答案 0 :(得分: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项目了。