使用 javac 编译来自不同目录的文件,引用依赖的 jar 文件?
我进行了以下设置:
我有4个包:
- root/src/terminal - 有一些java文件
- root/src/mail - 有一些java文件
- root/src/data - 有一些java文件
- root/src/main - 有一个单个 java 文件,Main.java
我还有以下文件
- root/bin - 存储 .class 文件的文件夹
- root/mail.jar - 一个 jar 文件,其中包含我的代码中使用的重要类
在根目录中,我想输入编译的终端命令root/src/main/Main.java 并将类文件放在 root/bin 位置。
有人可以告诉我执行此操作的命令吗?我使用的是 Mac(运行 Leopard)。
I have the following set up:
I have 4 packages:
- root/src/terminal - has some java files
- root/src/mail - has some java files
- root/src/data - has some java files
- root/src/main - has a single java file, Main.java
I also have the following files
- root/bin - a folder to store .class files
- root/mail.jar - a jar file which has important classes used in my code
Within the root, I would like to enter a terminal command which compiles root/src/main/Main.java and puts the class files in the root/bin location.
Can someone show me the command to do this? I'm on a Mac (running Leopard).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这里有一个衬里:
或者,您可以使用绝对目录名称:
在提到 Ant 时,您说“我宁愿保持简单。”。
事实上,从长远来看,创建一个简单的 Ant
build.xml
文件更为简单。另一种选择是一堆不可移植的脚本或批处理文件......或大量打字。要运行应用程序,假设您仍在
/xyz/root
目录中:或者在 Windows 上:
或者修改上面的内容以在类路径参数中使用绝对路径名;例如
Here's the one liner:
Alternatively, you could use absolute directory names:
In reference to Ant you said "I would rather keep it simple.".
In fact in the long term it is simpler to create a simple Ant
build.xml
file. The alternative is a bunch of non-portable scripts or batch file ... or lots of typing.To run the application, assuming that you are still in the
/xyz/root
directory:Or on Windows:
Or modify the above to use absolute pathnames in the classpath argument; e.g.
不了解您的操作系统?
您应该考虑使用 Apache Ant。它是一个构建工具,一旦安装和配置,就可以利用根目录中的 build.xml 文件将类文件编译到文件夹以及打包 jar 文件。
http://ant.apache.org/
Without knowing your operating system?
What you should look into is using Apache Ant. It is a build tool that once installed and configured can utilize a build.xml file in your root to compile class files to a folder as well as package a jar file.
http://ant.apache.org/
试试这个:
写这篇文章是希望您在 src 文件夹中的类中有包声明,例如
packageterminal;
和package main;
。请参阅:javac 命令中的选项
或使用Apache Ant 按照 maple_shaft 的建议进行。
来自@maple_shaft 的评论:
在 Unix、Linux 操作系统中,类路径分隔符是冒号而不是分号。
try this:
This is written hoping that you have package declarations in your classes from src folder like
package terminal;
andpackage main;
.See this: Options in javac command
Or use Apache Ant as suggested by maple_shaft.
From comment give by @maple_shaft:
In Unix, Linux operating systems the classpath separator is a colon instead of a semicolon.