如何在 mac 终端中简化 java 路由
How to simplify java route in mac terminal
如果我的 mac 中有 eclipse-workspace/bin/test/example.class
我尝试 java example
(在测试文件夹中,使用 mac 终端)
但它不起作用只是说
Error: Could not find or load main class haha
但它有效java test/example
(在 bin 文件夹中)
我怎样才能在测试文件夹中声明 'java example'?
(我可能认为这是关于 PATH,但我找不到解决方案...)
java
可执行文件的参数 不是文件。这是一个完全限定的 class 名称。对于 运行 这样的名称,java 需要知道 class 文件所在的位置(当然还有其中提到的任何类型的 class 文件)——以及它通过搜索 class 路径(而不是 PATH
)来执行此操作,其中 是 文件系统路径 - 您可以指定 jar 文件或目录。无论哪种方式,class 文件都需要与全名完全匹配,例如字符串 class 的全名是 java.lang.String
。就是包+名字(String.java
以package java.lang;
开头)。
不清楚您是否告诉 Eclipse bin/test
是基础文件夹,或者 bin
是基础文件夹并且您的示例 class 有 package test;
顶部。
你会 运行 像这样:
java -cp ~/eclipse-workspace/bin/test example
# or - depends on that package stuff
java -cp ~/eclipse-workspace/bin test.example
如果你有部门参与,事情会变得更复杂。那么它可能看起来像:
java -cp ~/eclipse-workspace/bin:'~/eclipse-workspace/lib/*' test.example
注意单引号:您 NOT 想要 bash(您的 shell)扩大那颗星。它还取决于您的 eclipse 配置。你的问题不可能是日食配置,或者至少,不是没有一些 wildly 奇怪的设置恶作剧 - 通常它是 workspace/projectname/bin/fully/qualified/package/YourClass.class
- 即 workspace/projectname/bin
是 class路径。不是 workspace/bin
.
如果我的 mac 中有 eclipse-workspace/bin/test/example.class
我尝试 java example
(在测试文件夹中,使用 mac 终端)
但它不起作用只是说
Error: Could not find or load main class haha
但它有效java test/example
(在 bin 文件夹中)
我怎样才能在测试文件夹中声明 'java example'?
(我可能认为这是关于 PATH,但我找不到解决方案...)
java
可执行文件的参数 不是文件。这是一个完全限定的 class 名称。对于 运行 这样的名称,java 需要知道 class 文件所在的位置(当然还有其中提到的任何类型的 class 文件)——以及它通过搜索 class 路径(而不是 PATH
)来执行此操作,其中 是 文件系统路径 - 您可以指定 jar 文件或目录。无论哪种方式,class 文件都需要与全名完全匹配,例如字符串 class 的全名是 java.lang.String
。就是包+名字(String.java
以package java.lang;
开头)。
不清楚您是否告诉 Eclipse bin/test
是基础文件夹,或者 bin
是基础文件夹并且您的示例 class 有 package test;
顶部。
你会 运行 像这样:
java -cp ~/eclipse-workspace/bin/test example
# or - depends on that package stuff
java -cp ~/eclipse-workspace/bin test.example
如果你有部门参与,事情会变得更复杂。那么它可能看起来像:
java -cp ~/eclipse-workspace/bin:'~/eclipse-workspace/lib/*' test.example
注意单引号:您 NOT 想要 bash(您的 shell)扩大那颗星。它还取决于您的 eclipse 配置。你的问题不可能是日食配置,或者至少,不是没有一些 wildly 奇怪的设置恶作剧 - 通常它是 workspace/projectname/bin/fully/qualified/package/YourClass.class
- 即 workspace/projectname/bin
是 class路径。不是 workspace/bin
.