首页 > 编程语言 > 详细

手动编译并运行Java项目的过程

时间:2016-03-07 19:12:02      阅读:172      评论:0      收藏:0      [点我收藏+]

  现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和java的关系了,下面来详细说一下

  一般情况下,在本地都是使用eclipse开发工具进行开发,很多东西基本上就不用我们考虑了,如果我们要将项目放到Linux下运行的话,那么就需要进行转移的操作,当然有Maven、Ant这样的自动化部署工具,简直是太方便了,为了做到更进一步认识的话,我们纯手动的去打包一个java的项目

  首先,项目名称为JarTest,在eclipse结构如下图所示:

  技术分享

  包名和类名都看的非常清楚了,App是主类,包含有main方法;TestBean是一个JavaBean实体;TestService是一个利用TestBean进行简单计算的类,那么各个类的代码如下:

App.java

 1 package net.javatest.package1;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import net.javatest.package2.TestBean;
 7 import net.javatest.package3.TestService;
 8 
 9 public class App {
10 
11     public static void main(String[] args) {
12         List<TestBean> tb = new ArrayList<TestBean>();
13         String[] names = {"hacker","nginx","github","hadoop","storm","solr","kafka","spark"};
14         for(int i = 0;i < names.length;i++) {
15             tb.add(new TestBean(String.valueOf(i),names[i]));
16         }
17         List<String> namelist = TestService.nameList(tb);
18         for(int i = 0;i < namelist.size();i++) {
19             System.out.println(namelist.get(i));
20         }
21     }
22 
23 }

TestBean.java

 1 package net.javatest.package2;
 2 
 3 public class TestBean {
 4     private String id;
 5     private String name;
 6     
 7     public TestBean() {
 8         
 9     }
10     
11     public TestBean(String id, String name) {
12         this.id = id;
13         this.name = name;
14     }
15     
16     public String getId() {
17         return id;
18     }
19     public void setId(String id) {
20         this.id = id;
21     }
22     public String getName() {
23         return name;
24     }
25     public void setName(String name) {
26         this.name = name;
27     }
28 }

TestService.java

 1 package net.javatest.package3;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import net.javatest.package2.TestBean;
 7 
 8 public class TestService {
 9     
10     public static List<String> nameList(List<TestBean> tbs) {
11         List<String> names = new ArrayList<String>();
12         for(TestBean tb : tbs) {
13             names.add(tb.getName());
14         }
15         return names;
16     }
17     
18 }

  文件就是这样,源程序都不依赖于外部包,其实在eclipse中自动已经进行编译成class了,我们可以直接使用class文件,在这里我们直接使用源文件进行编译,首先打包上传项目,压缩成JarTest.zip上传到服务器,

  技术分享

  接下来解压释放目录:

unzip JarTest.zip
cd JarTest/src

  因为我们打包项目的时候打包的项目外层目录,所以解压出来需要进入JarTest这个目录,我们的源代码文件在src中,现在开始编译:

javac net/javatest/package1/App.java net/javatest/package2/TestBean.java net/javatest/package3/TestService.java 

  这样回车之后,没任何提示就编译好了,现在每个包下都有一个和源文件对应的class文件,如果感觉上面太长太麻烦,可以使用通配符全部搞定编译:

javac net/javatest/package*/*.java

  这样就全部编译完了,现在我们可以执行一下看一下运行结果,

java net.javatest.package1.App

  这样就可以直接App的main方法了,接下来可以进行打包,打成一个jar包,用起来更方便,我们可以用eclipse打成jar包看一下目录结构,然后自己编写

 

手动编译并运行Java项目的过程

原文:http://www.cnblogs.com/freeweb/p/5251358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!