虽然它可能是用于编写高级java项目的一种用途和IDE,但我个人更喜欢几乎完全运行命令行(使用gedit作为文本编辑器)。所以请不要只告诉我“只要使用eclipse!”或者别的什么:P
我的问题是在java中创建包的方法是通过命令。
我不是在谈论打包在命令行中运行的应用程序,我在谈论在命令行中创建一个包。我在制作文本文件吗?我在制作目录吗?
相关地,如何在不使用IDE的情况下链接到相关的lib和本机?
我知道我在这里真的很尴尬,但我真的更喜欢控制器在命令行工作。
答案 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)
您可以使用Ant或Maven等打包工具在命令行上相处得很好。 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。*)。