美文网首页
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工程

    1.01_java源码和编译用notepad++查看JavaA.java 在cmd中进入javaA.java所在的...

  • Maven Scope

    Maven Scope就是用来控制依赖和三种classpath(编译classpath,测试classpath、运...

  • linux下运行java

    3. 编译运行命令 编译 javac [-d] [-o] [-verbose] [-classpath][-sou...

  • Maven依赖管理

    Maven在编译,测试和运行时使用的是不同的ClassPath, 所以Maven通过dependency的scop...

  • maven

    maven的依赖范围 依赖范围是用来控制依赖与3种classpath(编译classpath,测试classpat...

  • Linux下编译运行java文件

    1.javac命令行 javac用于编译java源文件,生成.class文件。形式如下javac [option]...

  • 2019-11-12 maven pom文件的scope作用

    scope : 1.compile 编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如...

  • maven_2_创建工程

    生成web工程 生成maven工程 archetype:generate :指明要按照模板生成maven工程 -D...

  • 二、maven 入门

    1.依赖范围 maven 提供三种依赖范围: 编译classpath 范围、测试classpath 范围、运行时c...

  • javac编译采坑

    背景 目录结构如图 如果App类中有引用就无法编译成功 是因为javac 编译时默认查找路径为$CLASSPATH...

网友评论

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

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