使Java包中的命令行(making a java package in the command l

2019-06-25 09:45发布

虽然它可能reccomended一个用途和IDE编码先进的Java项目,我个人比较喜欢运行几乎完全的命令行(使用的gedit作为文本编辑器)。 所以,请不要告诉我“就用eclipse!” 或东西:P

我的问题是什么创造了Java中的包的方法是通过一个命令。

我不是在谈论包装运行在命令行,我说的是在命令行中制造包装的应用程序。 我在做一个文本文件? 我在做一个目录?

与此相关的,如何做,而不使用IDE的一个链接到相关的库和当地人?

我知道我是真的很别扭这里,但我真的喜欢一个获取命令行工作的控制。

Answer 1:

包是在文件系统中只是目录。 所以你的包: com.mycompany.util对应一个目录com/mycompany/util

当运行和编译等你当前workding目录应该在哪里除此之外目录的位置。

包括图书馆,包括他们在你的classpath编译和运行时。 例如做一个项目目录myproject下有在你的Java文件和包myproject/src/和库,您在使用myproject/libs/那么当你的当前workding目录myproject执行java -cp .:libs/*.jar或具有相同javac

但我建议你考虑使用Ant或Maven。



Answer 2:

有三个部分到它:(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,那么你就需要使用; 用于路径分离。



Answer 3:

您可以通过使用包装工具,如相处在命令行上就好了蚂蚁或Maven的 。 Maven是特别方便,因为它是一个更高层次的工具,它已经知道如何建立各种项目类型:命令行应用,web应用,图书馆等,还从库下载它们处理库的依赖。



Answer 4:

Java包只是一个目录结构,因此,创建一个包一个简单的方法可以说com.organization.test在终端会

mkdir -p com/organization/test


文章来源: making a java package in the command line