学习makefile教程,ubuntu中文网

1.写一个简单的java项目,不需要外部jar,用的简单的

importjava.util.ArrayList;是可以从CLASSPATH环境变量中找到的,在javac阶段不需要特殊添加-cp

hellocat

Hellocat.java

importjava.util.ArrayList;importjava.util.Iterator;public classHellocat{public static voidmain(String[] args){

ArrayList list1= newArrayList();

list1.add("one");

list1.add("two");

System.out.println("" + list1.size()+ "个元素");

System.out.println("");

Cat mike= newCat();

mike.run();

System.out.println(mike.name+ "is running over\n");

}

}

Cat.java

public classCat{

Cat()

{this.name = "wali";this.age = 2;

}public voidrun()

{

System.out.println("run run run\n");

}publicString name;public intage;

}

makefile

result : Hellocat.java Cat.java

javac Hellocat.java

clean :

rm-f Hellocat.class Cat.class

执行的时候还得输入java Hellocat,这个项目比较小无所谓,如果遇到大的项目,各种package,需要调整包目录,尤其是需要引入外部jar的,java运行命令需要指出-cp位置

2.比较大的项目,需要引入外部jar(netty4.1.25)

代码不方便展示,主要有两个主类,HelloWorldClient和HelloWorldServer

makefile:

SRCFILES := $(wildcard *.java)

CFLAGS := -cp /home/kourui/netty4125/netty-4.1.25.Final/jar/all-in-one/netty-all-4.1.25.Final.jar

result : $(SRCFILES)

javac $(CFLAGS) HelloWorldServer.java ServerChannelInitializer.java ServerHandler.java

javac $(CFLAGS) HelloWorldClient.java ClientChannelInitializer.java ClientHandler.java

clean :

rm-f *.class

运行脚本:

startserver:(pwd可以忽略,当时是提示用的)

#!/bin/bash

#this script avaiable for starting server

pwd

java -cp ..:/home/kourui/netty4125/netty-4.1.25.Final/jar/all-in-one/netty-all-4.1.25.Final.jar pkg.HelloWorldServer

startclient:

#!/bin/bash

#thisscript starts client

pwd

java-classpath /home/kourui/jmaketest/hellocs:/home/kourui/netty4125/netty-4.1.25.Final/jar/all-in-one/netty-all-4.1.25.Final.jar pkg.HelloWorldClient

这样运行时直接通过命令:

./startserver

./startclient

就方便了许多

java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...相关推荐

  1. java 扫描jar包_java 扫描指定包(包括jar包)

    /*未经本人同意,禁止转载. 做工程时,有时候需要扫描指定包,或者指定jar包,甚至扫描指定包下指定类,本文章详细讲解如何扫描,以及智能扫描,小编讲的很详细了仔细看. 以下讲解, 包扫描和jar包扫描 ...

  2. java 引用 jar包_java命令行引用jar包的方法

    java命令行引用jar包的方法 java命令行怎么引用jar包?jar包有哪些常用方法?下面跟yjbys小编一起来学习一下,希望对大家学习java语言有帮助! 一般情况下: 如果java 文件和ja ...

  3. java的jar包_Java关于jar包的知识详解

    在学习jar包之前,要先弄懂Java包,以及关于Java包的相关概念. 一.包 为了更好地组织类,Java提供了包机制.包是类的容器,用于分隔类名空间.如果没有指定包名,所有的示例都属于一个默认的无名 ...

  4. java cglib jar包_Java面试题|反射必看的4道面试题

    上三篇: 动力节点:Java面试题|多线程21道必看面试题​zhuanlan.zhihu.com 动力节点:面试题|Java基础17道常见面试题​zhuanlan.zhihu.com 动力节点:面试题 ...

  5. java access jar 包_java连接access 不用jar包

    java连接access 不用jar包 有两种方法,1种要配置,1种是要驱动 你的这种写法是不用另加驱动的,但要配置 操作如下: 控制面板->管理工具->ODBC->系统DSN-&g ...

  6. ant java 外部jar包_java – 在使用Ant的新jar文件构建中包括外部jar文件

    我只是"继承"一个Java项目,而不是来自Java背景,我有时失去一点. Eclipse用于在开发期间调试和运行应用程序.我已经通过Eclipse成功创建了一个.jar文件,'包括 ...

  7. php项目如何导jdbc包,JDBC-idea导入mysql连接java的jar包(mac)的方法

    前言 1.本文使用的是mysql8.0版本 与5.0版本相比:导包方式相同,后面代码中的注册驱动方式不同 1.mac与pc的idea菜单和图标不是完全相同,但是步骤是差不多的 下载对应版本的jar包 ...

  8. java开发常用jar包_java开发常用jar包

    mail.jar与activation.jar 里面包含了activation.jar和mail.jar两个包.通过里面的类的调用便可以达到发送电子邮件的目的 commons-beanutils.ja ...

  9. java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本

    每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar--?边敲边想着都需要追加哪些参数? 今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程序Ja ...

最新文章

  1. 影谱科技宣布完成13.6亿D轮融资 商汤软银等多家参与
  2. 物理主机安装linux的方法
  3. 原生js cookie本地存储
  4. java nio proactor_reactor模式与java nio
  5. (转)MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验...
  6. android常用组件之RadioGroup
  7. 戴尔微型计算机怎么换系统,给戴尔外星人笔记本电脑的win7系统更换为win10系统图文教程...
  8. oracle 日期格式化 修改_java学习笔记:时间日期类
  9. 【HDOJ】1504 Disk Tree
  10. 20169217 2016-2017-2 《网络攻防实践》第四周学习总结
  11. 服务器没有网卡驱动怎么看网卡型号,[怎么看网卡设备]怎么查看网卡驱动
  12. Linux下如何安装.deb文件
  13. 文字加下划线单选按钮效果,RadioGroup实现
  14. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(7):欧氏空间
  15. 第11期 DApp 榜单:这是一篇让DD君重伤住院的内容
  16. BGP(1):BGP 的基本机制
  17. onnx优化系列 - 获取中间Node的inference shape的方法
  18. Java中long类型直接赋值大数字的问题
  19. 服务器托管的作用,有哪些好处?
  20. java毕业设计餐饮掌上设备点餐系统Mybatis+系统+数据库+调试部署

热门文章

  1. CocoaPods私有库搭建的记录
  2. cd: mkdir: rmdir: rm
  3. Unity3D提示“XX,some are mac os x (unix) and some are windows”
  4. 国信优易首席科学家周涛:大数据的商业应用
  5. centos7 install mysql
  6. android 中改变按钮按下时的颜色
  7. xp/2003开关3389指令
  8. FtpCopy数据定时自动备份软件(FTP定时备份)
  9. Java并发 -- JMM
  10. Javascript 中的神器——Promise