1)在linux下写一个.sh文件
(2)文件内容如下:
复制代码
代码如下:
#!/bin/sh
//bash文件头
APP_HOME=/home/blmcrm/crm/A
//要执行的java文件中bin文件的上一个目录,我的目录是/home/blmcrm/crm/A/bin/blm......(后面不写了),总之就是写bin目录前面的部分,因为jar包在bin目录里面,如果不在bin里面,也如此改一下就行
CLASSPATH=$APP_HOME/bin
//bin目录当然是包含jar包的目录啦
for i in "$APP_HOME"/bin/*.jar
//引进所有的jar包,这里用的循环,当然也可以按照这个格式一个一个 写
do
CLASSPATH="$CLASSPATH":"$i" //环境变量就这格式
done
export
CLASSPATH=.:$CLASSPATH //不写这个可能会说找不到main类
echo
${CLASSPATH} //打印环境变量,可以不写
java -Xms50m -Xmx250m
org.gdh.blm.exec.Syslog_csv
exit(结束) //执行java程序, 其中-Xms50m
-Xmx250m是运行内存什么的设置,后面的是bin目录以后一直到.class的路径,我的是Syslog_csv.class,所以我最后那个是Syslog_csv。
❷ 怎样将java代码到linux上执行
以下方法支持Linux和windows两个系统的命令行调用。还用到了apache的lang工具包commons-lang3-3.1.jar来判断操作系统类型、也用到了和log4j-1.2.16.jar来打印日志。至于rm -rf 是否能成功删除文件,可以手动去调用命令行试试。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
private String callCmd(String cmd) throws InterruptedException, UnHandledOSException, ExecuteException {
if(SystemUtils.IS_OS_LINUX){
try {
// 使用Runtime来执行command,生成Process对象
Process process = Runtime.getRuntime().exec(
new String[] { "/bin/sh", "-c", cmd });
int exitCode = process.waitFor();
// 取得命令结果的输出流
InputStream is = process.getInputStream();
// 用一个读输出流类去读
InputStreamReader isr = new InputStreamReader(is);
// 用缓冲器读行
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
System.out.println(line);
sb.append(line);
}
is.close();
isr.close();
br.close();
return sb.toString();
} catch (java.lang.NullPointerException e) {
System.err.println("NullPointerException " + e.getMessage());
logger.error(cmd);
} catch (java.io.IOException e) {
System.err.println("IOException " + e.getMessage());
}
throw new ExecuteException(cmd + "执行出错!");
}
if(SystemUtils.IS_OS_WINDOWS){
Process process;
try {
//process = new ProcessBuilder(cmd).start();
String[] param_array = cmd.split("[\\s]+");
ProcessBuilder pb = new ProcessBuilder(param_array);
process = pb.start();
/*process=Runtime.getRuntime().exec(cmd);*/
int exitCode = process.waitFor();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
System.out.println(line);
sb.append(line);
}
is.close();
isr.close();
br.close();
return sb.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
throw new ExecuteException(cmd + "执行出错!");
}
throw new UnHandledOSException("不支持本操作系统");
}
❸ 如何在Linux中反编译java源代码
之前看同事使用JD-GUI来反编译java
.class文件,觉得很爽,不过一直以来也没有再次版接触到这个问题,所以也权没有对这个工具进行深入的了解。
今天无聊看了些技术文档,忽然想起这个工具来,上网一找。呼呼果真也有Linux的版本。
不过我网上资料显示主页上下载的gz包是32位的程序,我在64位的Fedora
12下可能有些问题,程序在运行时会调用不到关键的32位库而失败。幸运的是只要安装几个包即可:
yum install
libcanberra-gtk2.i686 PackageKit-gtk-mole.i686
gtk2-engines.i686
下载后:
tar -xzvf
jd-gui-0.3.2.linux.i686.tar.gz
sudo mv jd-gui
/usr/local/bin
至此jd-gui便可以在linux下运行,对于class或者jar文件都可以使用这个工具打开查看反编译源码
转载,仅供参考。
❹ Linux下编译多个JAVA文件
把它们都放到一个文件夹。。
然后cd进该文件夹
再用命令:
javac *.java
即可
❺ 在linux下,怎样编译java
Linux下java环境变量设置的完整步骤:从java.sun.com上下载JDK的安装文件,一般是jdk1.5.0_10_XXXX.bin的格式。 解开生成JDK目录,这里假设JDK安装在/usr/java/jdk1.5.0_10中: 代码:sudo chmod 755 jdk1.5.0_10_XXXX.bin sudo ./jdk1.5.0_10_XXXX.bin sudo mkdir /usr/java sudo mv jdk1.5.0_10/ /usr/java代码: sudo gedit /etc/profile在这个文件的末尾追加:代码:export JAVA_HOME=/usr/java/jdk1.5.0_10/ #注意把新添加的JDK的bin目录追加在$PATH的最前面,这样当系统中安装有多个JDK版本时,程序会优先搜寻排在最前面的JDK版本。 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH保存/etc/profile之后,别忘了执行下面这个命令,使环境变量的更改马上起作用。 代码:source /etc/profile如果执行上面这个命令时报错,请仔细检查你在/etc/profile里新增的文本是不是有错。最后检查环境变量更改是否生效: 代码:java -version
❻ 如何在虚拟机上的linux编译JAVA
下载JDK for linux以jdk-6u24-linux-i586.bin
移动jdk-6u24-linux-i586.bin到/usr/java/
1、给权限:sudo chmod u+x /usr/java/jdk-6u24-linux-i586.bin
2、安装jdk:sudo /usr/java/jdk-6u24-linux-i586.bin
3、设置环境变量:
cd
sudo gedit ./.bashrc
在最后加上:
#set java environment
JAVA_HOME=/usr/share/java/jdk1.6.0_24
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export JAVA_HOME PATH CLASSPATH
4、使上面设置的环境变量生效:#source /etc/profile
5、设置ubuntu的默认jdk,原因使因为ubuntu默认有openjdk:
sudo update-alternatives --install /usr/bin/java java /usr/share/java/jdk1.6.0_24/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.6.0_24/bin/javac 300
sudo update-alternatives --config java
选择对应的jdk编号,回车
6、查看当前jdk版本:java -version
或者直接在新立得软件包管理器里面查找sun-java6-jdk
安装即可