我有以下设置:
我有4个包裹:
我还有以下文件
在root中,我想输入一个终端命令,它编译root / src / main / Main.java并将类文件放在root / bin位置。
有人可以告诉我执行此操作的命令吗?我在Mac上(运行Leopard)。
答案 0 :(得分:1)
不了解您的操作系统?
您应该关注的是使用Apache Ant。它是一个构建工具,一旦安装和配置,就可以利用root中的build.xml文件将类文件编译到文件夹以及打包jar文件。
答案 1 :(得分:1)
试试这个:
javac -cp "/root/mail.jar;/root/src;" -d "/root/bin" Main.java
这是希望您从类package terminal;
和package main;
等src文件夹中获得包声明。
或者按照maple_shaft的建议使用Apache Ant。
来自@maple_shaft的评论:
在Unix,Linux操作系统中,类路径分隔符是冒号而不是分号。
答案 2 :(得分:1)
这是一个班轮:
cd /xyz/root
rm -rf bin/*
javac -d bin -classpath mail.jar -sourcepath src main/Main.java
或者,您可以使用绝对目录名称:
rm -rf /xyz/root/bin/*
javac -d /xyz/root/bin -classpath /xyz/root/mail.jar \
-sourcepath /xyz/root/src /xyz/root/ main/Main.java
在提及Ant时,你说“我宁愿保持简单。”。
事实上,从长远来看,创建一个简单的Ant build.xml
文件更简单。另一种选择是一堆非便携式脚本或批处理文件......或者大量输入。
要运行应用程序,假设您仍在/xyz/root
目录中:
java -classpath bin:mail.jar main.Main
或在Windows上:
java -classpath bin;mail.jar main.Main
或者修改上面的内容,在classpath参数中使用绝对路径名; e.g。
java -classpath /xyz/root/bin:/xyz/root/mail.jar main.Main