美文网首页
javac、classpath的编译和生成Maven工程

javac、classpath的编译和生成Maven工程

作者: 胖子爱猪蹄 | 来源:发表于2017-11-25 20:51 被阅读0次

    1.01_java源码和编译
    用notepad++查看JavaA.java


    image.png

    在cmd中进入javaA.java所在的文件夹(例:javaA.java在C盘softwaredate的test的01_java源码和编译文件夹中)
    在cmd中进行编译,即javac JavaA.java,运行后会发现在01_java源码和编译文件夹中多了JavaA.class


    image.png
    image.png

    再在cmd中直接进行运行JavaA,即java JavaA(虚拟机中默认只会执行.class文件)


    image.png

    2.02_main方法
    用notepad++查看JavaC.java


    image.png
    image.png
    在cmd中进入javaC.java所在的文件夹(例:javaC.java在C盘softwaredate的test的02_main方法文件夹中)

    在cmd中进行编译,即javac JavaC.java,运行后会发现在02_main方法文件夹中多了JavaA.class、JavaB.class和JavaC.class


    image.png
    为什么会出现3个.class?
    因为在JavaC的代码中,使用到了main方法,在main方法中new了JavaA、JavaB和JavaC
    3.03_package包路径
    用notepad++查看"03_package包路径/com/pa"文件夹中的JavaA.java
    image.png
    通过JavaA.java的内容,可以发现,一开始有一个"package com.pa;"看到这个,就需要在com的上一层目录,进行编译
    image.png
    4.05_classpath

    依然是用notepad++查看05_classpath文件夹,如下图所示,有3个工程
    我们要在cmd中直接对Project3/com/pc下面的JavaC.java进行编译!
    如果依然使用以前的方法,进入到工程下面直接进行编译的话,如图所示,直接报错,为什么呢?


    image.png
    因为在JavaC.java中我们需要导入其他工程下的JavaA和JavaB,所以正确的使用方法应该是:
    image.png
    classpath的编译:
    javac -cp .;../Project1;../Project2; com/pc/JavaC.java
    5.打jar包,及调用jar包编译执行
    image.png
    javac -cp .;../Project1.jar;../Project2.jar; com/pc/JavaC.java
    //调用jar包内容编译

    java -cp ,;../Project1.jar;../Project2.jar; com/pc/JavaC
    //执行

    jar -cvf Project4.jar .
    打成jar的名字 当前目录
    即在当前目录下打一个Project4.jar的jar包

    6.通过maven 编译 部署
    1)需要先配置maven的环境变量
    在环境变量中配置一个MAVEN_HOME——C:\software\apache-maven-3.5.0


    image.png

    再去path中添加%MAVEN_HOME%\bin


    image.png
    2)进入到C:\softwaredate\test\07_maven\my-app中
    image.png
    mvn clean //清除项目target
    mvn compile //编译源代码

    mvn test-compile //编译测试代码
    mvn test //执行测试
    mvn package // 项目打包
    mvn install // 在本地Repository中安装jar
    mvn site //产生site
    7.package包
    生成maven模板工程

    mvn archetype:generate -DgroupId=com.guoyasoft -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false


    image.png

    相关文章

      网友评论

          本文标题:javac、classpath的编译和生成Maven工程

          本文链接:https://www.haomeiwen.com/subject/feacbxtx.html