首页 热点资讯 义务教育 高等教育 出国留学 考研考公

linux编译 java 文件

发布网友 发布时间:2022-04-21 22:19

我来回答

4个回答

热心网友 时间:2023-09-15 07:29

1.首先用vim 在linux下编写一个名为Test.java的文件,代码如下:
class
Test{ public static void main(String []args){
System.out.println("test input main arguments");
System.out.println(args[0]+" "+args[1]);
System.out.println("end of main"); } }
代码很简单,只有一个main函数用来输出我输入的前两个参数,注意前两个参数如果不输入会抛数组越界 的异常。
2.vim编辑完后按esc进入命令模式,然后shift+ZZ保存并退出。然后通过javac Test.java 即可对该文件进行编译,编译会可以看到在该目录下生成了一个Test.class文件。
3。编译时没有抛出异常说明代码成功编译,接下来看看怎么运行吧,其实也很简单,就通过如下命令即可:
java Test hello world
输出结果是:
test input main arguments
hello world
end of main

热心网友 时间:2023-09-15 07:30

javac *.java
目录下所有的java文件都会被编译的了。

如果一个类(A)是依赖于另一个类(B)的,那么,可以只写
javac A.java
编译器会自动编译B类的

热心网友 时间:2023-09-15 07:30

先在linux系统上安装JDK,配置环境变量!然后在使用javac /xx/xx/xx.java编译java源文件

热心网友 时间:2023-09-15 07:31

可以写一个Makefile来做。追问能说一下具体怎么实现的么

追答gnu make功能很强,网上容易找到,借花献佛一下:
Makefile文件配置示例:
MKDIR= /bin/mkdir
CP = /bin/cp
RM = /bin/rm -rf
MV = /bin/mv
JAVA_HOME = /usr/java/jdk1.5.0_22
TARGET = pub
WEB_FOLDER = web
SRC_FOLDER = src
LIB_FOLDER = lib
SRC_FILES = $(SRC_FOLDER)/com/bean/*.java \
$(SRC_FOLDER)/com/business/*.java
CLASSPATH = $(LIB_FOLDER)/cglib-nodep-2.1_3.jar: \
$(LIB_FOLDER)/commons-beanutils-1.8.3.jar: \
$(LIB_FOLDER)/commons-collections-3.2.1.jar: \
$(LIB_FOLDER)/commons-dbcp.jar: \
$(LIB_FOLDER)/commons-lang-2.5.jar: \
$(LIB_FOLDER)/commons-logging-1.1.1.jar: \
$(LIB_FOLDER)/commons-pool.jar
all:
$(RM) $(TARGET)/*
$(CP) -R $(WEB_FOLDER)/* $(TARGET)
$(MKDIR) -p $(TARGET)/WEB-INF/classes
$(MKDIR) -p $(TARGET)/WEB-INF/lib
$(CP) $(LIB_FOLDER)/* $(TARGET)/WEB-INF/lib
for n in $(SRC_FILES); do \
echo compiling $$n ...; \

$(JAVA_HOME)/bin/javac -cp `echo $(CLASSPATH) | sed 's/[ ]//g'`
-sourcepath $(SRC_FOLDER) -d $(TARGET)/WEB-INF/classes $$n || exit 1; \
done
$(CP) $(SRC_FOLDER)/*.properties $(TARGET)/WEB-INF/classes
$(CP) $(SRC_FOLDER)/com/bean/*.xml $(TARGET)/WEB-INF/classes/com/bean/
clean:
-$(RM) $(TARGET)

你可以简化一下。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com