虽然它可能reccomended一个用途和IDE编码先进的Java项目,我个人比较喜欢运行几乎完全的命令行(使用的gedit作为文本编辑器)。 所以,请不要告诉我“就用eclipse!” 或东西:P
我的问题是什么创造了Java中的包的方法是通过一个命令。
我不是在谈论包装运行在命令行,我说的是在命令行中制造包装的应用程序。 我在做一个文本文件? 我在做一个目录?
与此相关的,如何做,而不使用IDE的一个链接到相关的库和当地人?
我知道我是真的很别扭这里,但我真的喜欢一个获取命令行工作的控制。
包是在文件系统中只是目录。 所以你的包: com.mycompany.util
对应一个目录com/mycompany/util
。
当运行和编译等你当前workding目录应该在哪里除此之外目录的位置。
包括图书馆,包括他们在你的classpath编译和运行时。 例如做一个项目目录myproject
下有在你的Java文件和包myproject/src/
和库,您在使用myproject/libs/
那么当你的当前workding目录myproject
执行java -cp .:libs/*.jar
或具有相同javac
。
但我建议你考虑使用Ant或Maven。
有三个部分到它:(1)创建目录结构; (2)指示包中的java文件; (3)编译它。
例如,如果您要创建的软件包com.mycompany.myproject
,那么你需要在你的项目,然后在根目录开始:
(1)创建目录com/mycompany/myproject
(2)在该目录中创建Java文件,说明package com.mycompany.myproject
在其中。
(3)编译的文件,例如,具有javac -cp . com/mycompany/myproject/*.java
javac -cp . com/mycompany/myproject/*.java
您可能需要指定不同的输出目录,以不混合源和编译的类。
如果你需要使用外部库(.jar文件)进行编译,那么你需要使用-cp
或-classpath
命令行参数javac
工具来指定,如
javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java
这可能是把所有外部库在一个地方是个好主意,比如lib
你的主项目目录的子目录。 而且,顺便说一下,上面javac
命令假设类Unix环境。 如果您使用的是Windows,那么你就需要使用;
用于路径分离。
您可以通过使用包装工具,如相处在命令行上就好了蚂蚁或Maven的 。 Maven是特别方便,因为它是一个更高层次的工具,它已经知道如何建立各种项目类型:命令行应用,web应用,图书馆等,还从库下载它们处理库的依赖。
Java包只是一个目录结构,因此,创建一个包一个简单的方法可以说com.organization.test在终端会
mkdir -p com/organization/test