java - 将 Java 编译器转换为 Linux

标签 java linux compiler-construction javac

基本上,我有一个用于一些 Java 脚本的编译器,它在 Windows 上运行得很好 - 但我一直在尝试让它在 Linux 上运行 - 但没有成功。

@echo off
"C:\Program Files\Java\jdk1.7.0_25/bin/javac.exe" -d bin -cp lib/*; -sourcepath src src/com/ar/*.java src/com/ar/cache/*.java src/com/ar/cache/loaders/*.java src/com/ar/cores/*.java src/com/ar/function/*.java src/com/ar/function/item/*.java
pause

效果非常好。

基本上我所做的是,我改变了 Javac 的路径(工作完美)。 尝试删除空格并添加分号。

谢谢。

最佳答案

您是 Linux 新手吗? Linux 不像 Windows 那样执行批处理脚本,而是执行 shell 脚本。 Shell 脚本更容易使用且功能更强大,但语法不同,因此 Windows .bat 文件不能在 Linux 中神奇地工作。

等效的脚本可能是:

#!/bin/bash
javac -d bin -cp lib/ -sourcepath src $(find src -name '*.java')

一些提示:Linux 中的路径用 : 表示,而 Windows 中的路径用 ; 表示

$(find...) 调用基本上只是“src 中所有 .java 文件”的快捷方式。

否则,像您在原始示例中所做的那样手动列出它们也可以。

关于java - 将 Java 编译器转换为 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233977/

相关文章:

javascript - 是否可以将 Closure Compiler ADVANCED_OPTIMIZATIONS 与 jQuery 一起使用?

java - 通用类型的流图

linux - 漂亮的 ascii 日志的 Bash 格式

linux - 如何为i2c传感器编写I2C设备驱动程序?

mysql - 如何从 CentOS 7 完全卸载 MariaDB 5.5(包括配置)

c++ - 如何将模式从 Dev-C++ 中的 c++98 模式更改为支持 C++0x 的模式(基于范围)?

.net - 在 Release模式下不编译方法的 .NET 属性是什么?

java - log4j 喜欢 jar 文件中的属性吗?

java - 如何搜索分成两行的单词?

java - 如何在不指定完整 url 的情况下使用 URL 连接调用 localhost servlet?