zoukankan      html  css  js  c++  java
  • java -jar 和 java -cp


    就是如果你使用了maven,使用了插件打包的方式的话,那么你就需要了解这俩用法的区别了。

    java -jar 必须要在 pom.xml 文件中指定主类,不可以指定一个主类,然后运行的时候在jar包后面继续指定主类
    java -cp 不需要在 pom.xml 文件中指定主类,主类是否指定看自己需要,然后运行的时候在jar包后面继续指定主类。

    例如:

    java -jar maven_pro-1.0-SNAPSHOT-jar-with-dependencies.jar dtwave.odps.utils.UploadSample
    
    java -cp maven_pro-1.0-SNAPSHOT-jar-with-dependencies.jar dtwave.odps.utils.UploadSample

    问题的地方就是因为pom文件打包配置的问题,mainClass是否指定的问题。

    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass></mainClass>
                <!-- <mainClass>dtwave.odps.utils.UploadSample</mainClass>-->
            </manifest>
        </archive>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

    结论  

          java -jar 和 java -cp 两种方式,如果动态传入执行类,就用-cp,固定执行类就用-jar。

  • 相关阅读:
    ios 属性的特性
    ios 线程锁 与 线程交互
    iOS 变量名前为什么要加_下划线
    ios 常见问题
    ios 沙盒
    ios 去掉屏幕键盘的方法
    UITableView方法详解
    Image View、Text Field、Keyboard 隐藏键盘
    用php 进行对文件的操作 (上)
    文件上传-------头像上传预览
  • 原文地址:https://www.cnblogs.com/muzhongjiang/p/4538689.html
Copyright © 2011-2022 走看看