精华内容
下载资源
问答
  • linux环境下运行jar包,依赖外部jar包

    千次阅读 2016-02-16 10:05:52
    原文地址:http://www.lifeba.org/arch/linux_shell_lib_jars.html ...你将需要的jar包放置lib下,并且指定运行,就可以运行java命令。另外windows下的bat批量遍历jar包,可以参见 bat 设置lib*.jar #!

    原文地址:http://www.lifeba.org/arch/linux_shell_lib_jars.html

    linux下批量遍历lib下的jar包,默认读取的是当前目录下的lib文件夹下的jar包。你将需要的jar包放置lib下,并且指定下运行的类,就可以运行java命令。另外windows下的bat批量遍历jar包,可以参见 bat 设置lib*.jar

    #!/bin/bash

    CLASSNAME=org.lifeba.ProjectRunner
    PROJECTDIR=$PWD
    CLASSPATH=
    function libjars(){
    for file in $PROJECTDIR/lib/*
    do
    if [ -f $file ]
    then
     #echo $file   
     CLASSPATH="$CLASSPATH$file:"
    fi
    done
    }

    libjars
    export CLASSPATH
    #echo $CLASSPATH
    java -Xms512m -Xmx1024m -Dproject.dir="$PROJECTDIR" -classpath $CLASSPATH $CLASSNAME

    展开全文
  • Linux运行Maven的jar包

    2020-08-18 17:49:56
    在idea中打包一个Maven项目成jar包,然后在linux运行,提示"jar中没有主清单属性",其实就是找不到程序入口,没有指定主class。 报错如下: 处理步骤 1.修改Maven的pom.xml 此处大家要修改成自己的mainClass,这是...

    业务场景

    在idea中打包一个Maven项目成jar包,然后在linux中运行,提示"jar中没有主清单属性",其实就是找不到程序入口,没有指定主class。

    报错如下:
    在这里插入图片描述

    处理步骤

    1.修改Maven的pom.xml

    此处大家要修改成自己的mainClass,这是访问的入口类。

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>demo.ExeclLinuxCMD</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    

    如下图:
    在这里插入图片描述

    2.打包Maven项目成jar

    在这里插入图片描述

    3.运行结果

    此时该jar包已经可以在linux中运行了
    在这里插入图片描述

    展开全文
  • 需求: ...因此i,现在就需要在打jar包的同时既要指定运行jar包的入口,又要连同第三方jar包一块打成jar包。 目录: 1.jar包和war包的区别; 2.package命令打jar包; 一、jar包和war包的

    需求:

    在我本地的电脑上存在一个maven工程,在pom文件中依赖了一些第三方jar包。现在需要把工程打成jar包,然后放到linux服务器中运行。

    因此i,现在就需要在打jar包的同时既要指定运行该jar包的入口类,又要连同第三方jar包一块打成jar包。

    目录:

    1.jar包和war包的区别;

    2.package命令打jar包的两种方式:

    2.1.jar-plugin和dependency-plugin配置

    2.2.jar-plugin、assembly-plugin以及assembly所需的配置文件

    一、jar包和war包的区别

    1.1、jar包

    当电脑没有tomcat等web容器,只配置了java环境,支持java的doc命令时(就是cmd黑窗口中的命令),可以使用命令:
    java -jar jar包名称 
    来运行jar包。当然,此时运行的jar包中必须有一个main方法,并且生成jar包的时候,把这个main方法所在的类作为了入口类

    1.2、war包

    当电脑上有tomcat等web容器时,可以把工程打成war包,然后将war包放入tomcat服务器中,tomcat将会自动解析war包,并执行。

    1.3区别

    如果仔细看上面的介绍的话,你会发现:

    执行jar包——执行的就是普通的java工程(是通过main方法来执行的);

    执行war包——执行的是web工程,不需要指定入口类。


    二、通过package命令打jar包

    maven是支持将当前工程打成jar包的,只不过需要在pom文件中加入一些配置,确切的来说,应该是一些maven自带并支持的一些插件(个人这么理解)。

    2.1.jar-plugin和dependency-plugin配置

    通过jar-plugin和dependency-plugin,使用package命令或者是mvn:install命令,会把当前工程打成jar包,同时相关的第三方依赖会被放入一个lib包中。<注意,需要把工程的打包方式改成jar>

    需要有两处配置:


    2.1.1、将工程打成jar包(如下代码可以直接复制使用,但是注意入口类的指向需要更改)



    2.1.2、将工程需要的第三方依赖包抽出来,放在lib文件夹下(如下代码可以直接复制使用)



    完整下过如下:


    2.1.3、pom文件配置完成后,执行Run as —— maven build.. ,点开后,输入package命令





    2.1.4、执行成功后,会在target目录下生成一个jar包和一个lib文件夹



    2.1.5、将lib文件夹和jar包一起放在linux服务器上,注意二者需要在同一目录下

    2.1.6、执行jar包

    在linux系统中切换路径到lib文件夹和jar包所在文件夹,然后执行:java -jar ls-msao-raiscom-0.0.1-SNAPSHOT.jar  敲起enter 执行完成

    2.1.7、注意

    生成的jar包名称是你maven工程的artifactId+version,所以不用纠结名称


    2.2.jar-plugin、assembly-plugin以及assembly所需的配置文件(推荐)

    通过jar-plugin、assembly-plugin可以将项目jar包打成压缩包的方式,比如zip,tar等方式,但是需要多添加一个assembly的配置文件,在这个文件中指定将jar包打成什么样类型的压缩包。

    压缩包解压后,会生成项目打成的jar包,lib依赖文件,以及assembly的配置文件。

    话不多说,上代码:

    2.2.1、jar-plugin:将工程打成jar包,需要指定jar包的入口类



    2.2.2、assembly-plugin:打包依赖jar包


    2.2.3、assembly的配置文件

    <directory>${project.basedir}\resources</directory>


    2.2.4、如下是assembly的目录:



    2.2.5、带配置完成后,执行打包命令即可。



    展开全文
  • -cp 和 -classpath指定类运行所依赖其他类的路径,通常是类库,jar包之类window上分号“;” 分隔 linux上是分号“:”分隔。 用一点“.”代表当前路径(实例没有应用)/usr/java/jdk1.6.0_18/bin 是$JAVA_HOME jdk...

    -cp 和 -classpath指定类运行所依赖其他类的路径,通常是类库,jar包之类

    window上分号“;” 分隔 linux上是分号“:”分隔。 用一点“.”代表当前路径(实例没有应用)

    /usr/java/jdk1.6.0_18/bin  是$JAVA_HOME  jdk目录   单独写java -cp 也可以执行


    实例:
    1. #!/bin/sh
    2. export LANG="zh_CN.GB18030"
    3. PATH=$PATH:$HOME/bin
    4. DB2INSTHOME=/home/db2inst/sqllib
    5. export DB2INSTHOME
    6. if [ -f $DB2INSTHOME/db2profile ]; then
    7. . $DB2INSTHOME/db2profile
    8. fi
    9. export PATH
    10. echo 'start---do'
    11. /usr/java/jdk1.6.0_18/bin/java -Dfile.encoding=GBK -cp /home/testftp/temp_0802/log4j-1.2.11.jar:/home/testftp/temp_0802/monitor1.jar com.cn.test.Testtwo
    12. echo '---the--end--'


    shell 脚本最后指定了main方法入口:包名+类名



    最后crontab -e 

    5/* * * * * /opt/ripaMonitor.sh >> /opt/ripaMonitor.log 

    每5分钟执行一次

    展开全文
  • -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库、jar包之类的。 window上,jar包与jar之间用分号“;”分隔;linux上是分号“:”分隔,用一点“.”代表当前路径。 2、举例 (1)执行名称为Test...
  • 今天就把之前写过的代码打成jar包,上传到HDFS上运行。 首先,翻出之前写好的mapreduce代码 修改代码: ①添加下面一行,指定具体的任务 job.setJarByClass(ForWorldCount.class); ②修改之前指定的输入输出...
  • -classpath 指定需要引入的; $CLASSPATH 将第三方包装在到CLASSPATH环境变量下; xxx.jar 第三方包名,以";"号分隔; ClassName 被执行的Java类名(不含class后缀) 前2项是固定参数不变,后面根据...
  • (1)SSHLinux.java 文件中import其他,编译时需求 --classpath指定包路径 在source下 javac -d ../classes -classpath ../classes com/cvte/tools/SSHLinux.java 3、运行类包程序 cd classes
  • 由于虚拟机太卡,测试一些...-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库、jar包之类的。 window上,jar包与jar之间用分号“;”分隔;linux上是分号“:”分隔,用一点“.”代表当前路径。...
  • java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Linux下使用“:”。windows环境: java -cp .;d:\work\other....
  • 今天在eclipse写一个mapreduce计数例子,打包成jar放到linux下通过hadoop命令运行时出现如下错误: 小小的纠结了一下,检查了一下代码原来是漏写了一个打包的设置: //打成jar需要指定的执行 job....
  • c:\dir1\lib.jar Test -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;” 分隔,linux上是分号“:”分隔。不支持通配符,需要列出所有jar包...
  • 有时候需要测试某个东西,在eclipse中写的话有点太笨重,这时候直接用...cp的作用就是指定类运行时所依赖其它类的路径,需要全路径到jar包。 多个jar包的话windows使用;分隔,linux使用:分隔。 #编译 javac -cp D:\j
  • 为了在eclipse上写hadoop代码,我加入了很多jar包,...于是无法进行接下来的一系列打包(打成jar包会报错,强行打成hadoop无法找到指定类),通过ftp发到Linux虚拟机上测试运行代码。 期间我百度了很多相关的帖子,...
  • 在打包时一种指定了主类是哪个,一种没有指定,详见配置。 1.指定了的话直接使用下面命令执行: java -jar xxx.jar 参数 ...2.如果没有指定,则需要运行时手动指定: java -cp xxx.jar 的路径 参数 ...
  • Linux Shell脚本设置lib*.jar

    千次阅读 2012-07-18 13:48:50
    原文地址:http://www.lifeba.org/arch/linux_shell_lib_jars.html ...你将需要的jar包放置lib下,并且指定运行,就可以运行java命令。另外windows下的bat批量遍历jar包,可以参见 bat 设置lib*.jar #!/b
  • jar命令打包Java程序

    千次阅读 2012-08-08 10:33:57
    我们经常会见到jar文件,有些可以直接运行,例如windows下双击jar文件、Linux下使用 " java -jar *.jar "命令, 均能运行jar文件, 而有些jar文件却不能双击运行或者使用上述命令运行时提示没有Main。其中的原因和...
  • Excel数据操纵-jar包-jxl.jar

    热门讨论 2010-03-29 19:04:39
     (很大总是不能很好的加载,我想补充一下:把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个包放到这里面。)  基本操作  一、创建文件  拟...
  • 项目名:澳客福彩投注接口(socket通讯)以下实为项目的实际代码:供大家参考1、编写sockos.sh的实例代码(1)RESIN_...指定项目所需要的所有jar包,及jdk的包---tool.jar(4)LANG:指定服务运行的编码方式(5)JAVA
  • tess4j微服务或maven项目的jar包自带window的动态链接库文件,但是不适配linux,需要自行编译创建,使用版本tesseract-4.1.1.tar.gz、leptonica-1.74.4,编译比较耗时繁琐,以来的库比较多,使用直接将解压后的文件...
  • java -jar 和 java -cp 的区别

    万次阅读 2018-11-30 12:23:55
    linux中运行java jar包 ,...java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;” 格式: java -cp .;myClass.jar packname.mainclassn...
  • java -cp & java jar的区别

    千次阅读 2019-02-11 10:27:20
    博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导): java -cp &...java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全...
  • java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符: Window上分号 ; Linux下使用 : windows环境示例: java -cp .;d:\work\other.jar;d...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

linux指定类运行jar包

linux 订阅