【java项目】迁移到linux下

来源:互联网 发布:python 异常处理 编辑:程序博客网 时间:2024/06/09 17:07

最近有个小项目需要迁到linux服务器下,包括一个网站以及一个自动化的脚本。

网站的迁移主要是关于数据库的问题,数据库的迁移我之前也发博客提到过:mysql的迁移方法

之前Java项目的迁移一直遇到问题,也因为各种各样的事情耽搁停滞不前,最近终于解决了。

由于只是比较简单的脚本,项目的架构不算复杂。

  • src
    • PACKAGE_NAME
      -1.java
      -2.java

其中2.java主要是对数据库的一些操作,需要引用外部jar包,我这边用得是mysql-connector-java-5.1.37-bin.jar。1.java中用到了socket通信,做了一些数据流的解析,也引用了2.java的类。

其实总结起来,具体的原理并不难。首先是java文件的格式问题,windows下的java文件编码和linux下的编码不一样,直接复制过来会遇到编码错误,因此我先利用Notepad进行转码。

编码问题解决后,开始进行编译

$javac 2.java

报错,无法找到“com.mysql.jdbc.Driver”jdbc驱动,java会从classpath中去找jar包是否存在,因此现在将mysql-connector-java-5.1.37-bin.jar放到classpath中,理论上可以放到任何位置,只要classpath包含这个绝对地址就行。

这边要强调一下linux下环境变量的格式,不同的目录之间是用 : 隔开,而不是分号。

接着继续编译2.java,无报错后生成2.class,然后执行生成的类。

$javac 2.java$java 2

2.java依赖外部的jdbc jar包,将jdbc驱动的地址放到classpath中即可。
1.java引用了2.java的类,本来以为classpath包含 . 这个当前地址就可以直接找到同一目录下的2.java,但编译之后还是会报错,后来将该java项目src目录的绝对地址添加到classpath中,编译之后无报错,生成1.class,执行1.class后脚本正常运行。

$javac 1.java$java 1

为了脚本能在后台一直运行,可以使用nohup命令。

$nohup java 1 > javalog.txt 2>&1 &
0 0
原创粉丝点击