gpt4 book ai didi

Java:如何向makefile添加多个外部库?

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:20 25 4
gpt4 key购买 nike

我的 java 项目使用了一些 apache commons 库。我希望能够在 unix 中运行我的程序,所以我制作了一个 makefile 来为我编译它。我的项目有 4 个 Java 类和 4 个外部库 (.jar)。在我的目录中,我有四个 .Java 文件和一个名为“lib”的文件夹,其中包含我的 .Jar 文件。这是我的制作文件:

 JFLAGS = -g
JC = javac -sourcepath / -classpath lib/commons-httpclient-3.1.jar:lib/commons-io-2.4.jar:lib/commons-codec-1.9.jar:lib/commons-logging-1.1.3.jar
.SUFFIXES: .java .class
.java.class:
$(JC) $(JFLAGS) $*.java

CLASSES = \
SubmissionDriver.java \
FileAndArgs.java \
hashConverter.java \
InvalidAgeException.java

default: classes

classes: $(CLASSES:.java=.class)

clean:
$(RM) *.class

这是我的错误消息:不过,我收到了 14 条与实际类文件相关的错误消息。以下是一些示例:

SubmissionDriver.java:74: error: cannot find symbol
public static void httpSend() throws HttpException, IOException{
^
symbol: class HttpException
location: class SubmissionDriver
SubmissionDriver.java:75: error: cannot find symbol
HostConfiguration hf=new HostConfiguration();
^
symbol: class HostConfiguration
location: class SubmissionDriver
SubmissionDriver.java:75: error: cannot find symbol
HostConfiguration hf=new HostConfiguration();
^
symbol: class HostConfiguration
location: class SubmissionDriver
SubmissionDriver.java:77: error: cannot find symbol
PostMethod post = new PostMethod("myurl");
^

它还在 14 条错误消息的底部指出了这一点:

14 errors
make: *** [SubmissionDriver.class] Error 1

最佳答案

  1. Make 并不是一个好的 Java 构建工具。也许尝试 ant (或 Maven,或 Gradle)
  2. makefile 的结构方式是为每个 java 类调用“javac”命令。如果您的 Java 类相互依赖,这将不起作用
  3. 确保此行之前有一个制表符

    $(JC) $(JFLAGS) $*.java

关于Java:如何向makefile添加多个外部库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23280314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com