在命令行中创建一个java包

时间:2012-06-10 19:51:46

标签: java linux command-line package

虽然它可能是用于编写高级java项目的一种用途和IDE,但我个人更喜欢几乎完全运行命令行(使用gedit作为文本编辑器)。所以请不要只告诉我“只要使用eclipse!”或者别的什么:P

我的问题是在java中创建包的方法是通过命令。

我不是在谈论打包在命令行中运行的应用程序,我在谈论在命令行中创建一个包。我在制作文本文件吗?我在制作目录吗?

相关地,如何在不使用IDE的情况下链接到相关的lib和本机?

我知道我在这里真的很尴尬,但我真的更喜欢控制器在命令行工作。

5 个答案:

答案 0 :(得分:7)

它有三个部分:(1)创建目录结构; (2)在java文件中指示包; (3)编译它。

例如,如果要创建包com.mycompany.myproject,则需要从项目的基本目录开始,然后:

(1)创建目录com/mycompany/myproject

(2)在该目录中创建java文件,在其中声明package com.mycompany.myproject;

(3)使用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,那么您需要使用;进行路径分离。

答案 1 :(得分:5)

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

在运行和编译等时,您当前的工作目录应该是该顶级目录所在的位置。

要包含库,请在编译和运行时将它们包含在类路径中。例如,创建一个项目目录myproject,在其下面有myproject/src/下的java文件和包以及myproject/libs/下使用的库 然后,当前的工作目录myproject执行java -cp .:libs/*.jar或与javac相同。

但我建议你研究使用蚂蚁或专家。

答案 2 :(得分:2)

您可以使用AntMaven等打包工具在命令行上相处得很好。 Maven特别方便,因为它是一个更高级别的工具,已经知道如何构建各种项目类型:命令行应用程序,webapps,库等。它还通过从存储库下载它们来处理库依赖项。

答案 3 :(得分:1)

Java Package只是一个目录结构,因此创建一个包的简单方法就是让终端中的com.organization.test

mkdir -p com/organization/test

答案 4 :(得分:0)

//创建一个新目录和一个子文件夹作为您的软件包

$ mkdir -p parent/child 

//进入它:

$ cd parent/child                    

//创建一个空的Java文件

$ touch MyClass.java

//编辑当前文件

$ nano MyClass.java

package child; 
 public class MyClass { 
}

PS:您计算机上的目录结构与程序包名称有关。这意味着当您编辑.java文件时,它需要一个程序包声明(您的程序包),否则您将拥有一个默认程序包(例如:java.util。*)。