javac、classpath的编译和生成Maven工程
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