zoukankan      html  css  js  c++  java
  • java常用命令行

    1、javac(编译java源文件)

      javac是用来编译.java文件的。

      例子:

      package com.fjassa.domain;  public class Human、public class Chinese extends Human   #Chinese继承Human

      package com.fjassa.dao;  public class UserDao(private Human human)  #UserDao类持有Human成员

           如何编译Human类、Chinese类?

        javac -d tbin src/com/fjassa/domain/Human.java  #编译Human.java到tbin目录下

                  javac -d tbin src/com/fjassa/domain/Chinese.java  #报错,找不到Human.class,为什么?我们刚刚明明把Human编译到tbin下面了,其实呢,javac编译的时候是需要依赖jar包的,默认的classpath会自动记载${JAVA_HOME}/jar下的所有jar包。这就是我们在使用jdk内置java对象的时候,不会报错的原因,如果需要编译依赖spring包的类,那么classpath需要指定所需spring的jar包                        

        javac -classpath tbin/ -d tbin src/com/fjassa/domain/Chinese.java  #Ok

                  注意一点:在linux下classpath用:分割,在windows下用;分割

                  javac -classpath .:tbin/ -d tbin src/com/fjassa/domain/Chinese.java  #linux

             javac -classpath .;tbin/ -d tbin src/com/fjassa/domain/Chinese.java  #linux

           如何一次性编译上述这些互相依赖的类?

                 javac -d sbin/ src/com/fjassa/*/*   # -d表示编译后存放的文件目录,上述存在依赖关系,也就是说如果要编译Chinese类必须先编译Human,要编译UserDao类必须编译Human,所以一次性编译这些类,让javac自己去判断依赖,如果单独编译一个Chinese.java,会报Human类未编译错误。

    2、java(运行java对象)

      运行编译后的.class字节码java对象。       

           java -Xmx500m -Dlog.dir=/tmp/zzz -classpath .:/tmp/java/libb com.fjsaas.demo

           java jar test.jar #classpath在jar包中的META-INF/MANIFEST.MF Class-Path属性指定,-classpath指定无效,运行的java对象则由Main-Class属性指定

      例子:

        cd tbin/下

           java -classpath . com.fjassa.dao.UserDao #运行成功

  • 相关阅读:
    修改mysql密码的四种方法
    phpcms模板生成原理
    如何给虚拟主机安装phpMyAdmin
    如何修改数据库密码
    web 服务器、PHP、数据库、浏览器是如何实现动态网站的
    编写shell时,提示let/typeset:not found
    Linux下采用VI编辑器删除复制或移动多行文本内容
    BASH 学习笔记小结
    list容器的C++代码实现
    Groovy入门教程
  • 原文地址:https://www.cnblogs.com/shysky77/p/7521101.html
Copyright © 2011-2022 走看看