精华内容
下载资源
问答
  • (一)springboot web项目打jar1、打包两种打包方式maven命令打包切换目录到工程根下,pom.xml所在位置,运行maven的打包命令mvn clean package -Dmaven.test.skip=trueIDEA 工具执行maven任务打包会在xxx项目模块下...

    (一)springboot web项目打jar包

    1、打包

    两种打包方式

    maven命令打包

    切换目录到工程根下,pom.xml所在位置,运行maven的打包命令

    mvn clean package -Dmaven.test.skip=true

    IDEA 工具执行maven任务打包

    8e9997b6e4578118d16ab781ea19c1c2.png

    会在xxx项目模块下/target目录下生成xxx-0.0.1-SNAPSHOT.jar

    2、运行jar包

    启动运行(切换目录到target下,执行命令)

    F:\Java\idea-workspace\shixun02\web1>cd springboot1

    F:\Java\idea-workspace\shixun02\web1\springboot1>cd target

    F:\Java\idea-workspace\shixun02\web1\springboot1\target>java -jar web1-0.0.1-SNAPSHOT.jar注意:如果启动springboot项目时,想自己设置启动服务器端口,命令如下:

    java -jar web1-0.0.1-SNAPSHOT.jar --server.port=8081

    (二)springboot web项目打war包,独立部署到tomcat运行

    使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat。现在需要将项目打包,并部署到服务器tomcat下面,步骤如下:

    1.修改pom.xml文件。将jar修改为war。

    com.youzhong

    web1

    0.0.1-SNAPSHOT

    war

    2.在pom.xml文件中将build节点中设置finalName为server.context-path中的路径。就是项目名称(打包的名称)。

    org.springframework.boot

    spring-boot-maven-plugin

    web1

    3. 在spring-boot-starter-web依赖中移除tomcat模块。

    org.springframework.boot

    spring-boot-starter-web

    org.springframework.boot

    spring-boot-starter-tomcat

    4. 添加servlet依赖。

    javax.servlet

    javax.servlet-api

    3.1.0

    provided

    5. 新建启动类。(需要和之前的启动类在同一级目录)

    public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override

    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

    // 注意这里要指向原先用main方法执行的Application启动类

    return builder.sources(Web1Application.class);

    }

    }

    注意:

    Web1Application.class就是springboot生成的工程默认启动类

    如:Web1Application.class即有@SpringBootApplication注解的主启动类 。

    6. 使用mvn命令打包

    mvn clean package -Dmaven.test.skip=true

    或者

    使用IDEA中的maven任务

    01ade84143c4d665f9df01819fd8303e.png

    7. 将war包拷贝部署到tomcat的webapps目录下面,启动tomcat并测试。

    展开全文
  • Tomcat是我们运行java网站或者war包的服务器 安装了Tomcat之后 我们不需要再在eclipse中 也能对 程序进行运行。 本文讲述三个内容: 一.Tomcat 7.0的安装配置 二.安装完后启动时dos窗口一闪而过怎么破 三.怎么在...

    Tomcat是我们运行java网站或者war包的服务器 安装了Tomcat之后 我们不需要再在eclipse中 也能对 程序进行运行。


    本文讲述三个内容:

    一.Tomcat 7.0的安装配置

    二.安装完后启动时dos窗口一闪而过怎么破

    三.怎么在Tomcat里运行网站或者war包


    安装Tomcat 之前必须安装jdk  详见:jdk的安装配置



    一.Tomcat 7.0的安装配置


    安装Tomcat

     1、Tomcat 7.0 的免安装版的配置(假如将Tomcat 解压到E:\目录,目录结构为:E:\tomcat7

               1、添加环境变量:在 我的电脑->属性->高级->环境变量







               2、新建系统变量,变量名:CATALINA_HOME  变量值:E:\tomcat7 (Tomcat 解压到的目录)。




               3、在系统变量  Path的最后面添加%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar   注意它们之间的分号,一定是英文的分号。(如果是加在最后面的话第一个%CATALINA_HOME%前也加个;号把跟前面的隔开)




               4、Tomcat 7.0的管理员的配置,进入E:\tomcat7(Tomcat目录)下的conf目录,编辑tomcat-users.xml,找到最后的:

                                         <!--
                                               <role rolename="tomcat"/>
                                               <role rolename="role1"/>
                                               <user username="tomcat" password="tomcat" roles="tomcat"/>
                                               <user username="both" password="tomcat" roles="tomcat,role1"/>
                                               <user username="role1" password="tomcat" roles="role1"/>
                                          -->

                                      在上面这段后面  添加上:

                                                <role rolename="manager-gui"/>
                                                <role rolename="admin-gui"/>
                                                <user username="admin" password="admin888" roles="admin-gui"/>
                                                 <user username="tomcat" password="tomcat" roles="manager-gui"/>

                                     红色为添加部分。  到这应该知道我们添加的管理员的用户名和密码是多少了吧!

               5、进入Tomcat 目录下的bin目录,双击startup.bat   启动Tomcat  在命令行窗口会出来英文提示。(如果出现了命令行窗口闪退 请往下看内容2)

               6、浏览器输入:http://localhost:8080  可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。



     

    二.安装完后启动时dos窗口一闪而过怎么破


    tomcat启动startup.bat一闪而过

    遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:
    tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。
    首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图


    然后,如果这样配置,startup.bat还是一闪而过,可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)



    如果有错误信息,这时候会显示出来,可以再根据它的错误提示,上网搜索对应的解决办法。


    解决方法:

    增加JRE_HOME变量



    不闪退则启动成功:


      6、浏览器输入:http://localhost:8080  可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。


    下面是在错误提示窗口遇到过的问题:

    1、 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。变量路径版本要与自己下载的对应。
    setclasspath.bat的开头添加红色标记部分,如下:
    rem ---------------------------------------------------------------------------
    rem Set CLASSPATH and Java options
    rem
    rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $
    rem ---------------------------------------------------------------------------

    set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_13 
    set JRE_HOME=C:\Program Files\Java\jre7


    rem Make sure prerequisite environment variables are set
    if not "%JAVA_HOME%" == "" goto gotJdkHome
    if not "%JRE_HOME%" == "" goto gotJreHome
    echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    echo At least one of these environment variable is needed to run this program
    goto exit

    这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。
    运行startup.bat,提示“信息:Server startup in xxxxx ms”  OK 大功告成。
    2、Cannot find ""d:\apache-tomcat-6.0.32"\bin\setclasspath.bat"
    这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。


    这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。






    三.网站及war包怎么在tomcat中运行 启动

    把war包或者网站整个工程文件夹放到Tomcat安装目录下的webapps文件夹后 点击startup.bat启动 即可



    启动成功:





    展开全文
  • 我们经常将web工程打成war包部署到tomcat上,对于普通的java工程(Java Project)要打成普通的jar包或者是可运行的jar包该怎么做呢打包之前先确定以下几点是否要打成可运行的jar包项目是否依赖了第三方的jar包是否需要...

    我们经常将web工程打成war包部署到tomcat上,对于普通的java工程(Java Project)要打成普通的jar包或者是可运行的jar包该怎么做呢

    打包之前先确定以下几点是否要打成可运行的jar包

    项目是否依赖了第三方的jar包

    是否需要读取jar包外的配置文件

    普通的JAR包(不可运行,也不依赖其他JAR包)

    JAR FILE的方式通常是将项目打成一个普通的jar包(非运行jar包)

    选择要打包的文件,不需要的文件不必打包,减小打包后的jar文件大小

    其中几个选项的含义Export generated class files and resources 表示只导出生成的.class文件和其他资源文件

    Export all output folders for checked projects 表示导出选中项目的所有文件夹

    Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了

    Export refactorings for checked projects 把一些重构的信息文件也包含进去

    然后一路Next,最后Finish就好了。

    可运行并且依赖其他JAR包

    方式一(JAR file)

    在工程目下新建文件MANIFEST.MF,并添加以下参数

    Manifest-Version: 1.0

    Class-Path: tf.jar/lib/junit.jar tf.jar/lib/log4j.jar tf.jar/lib/ojdbc6_g.jar tf.jar/lib/org.hamcrest.core_1.3.0.v201303031735.jar

    Main-Class: priv.bss.gj.SeqMatchTblColApplication

    第一行是MAINIFEST的版本

    第二行Class-Path就指定了外来jar包的位置

    第三行指定我们要执行的MAIN java(main方法)文件

    需要注意以下几点:Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field

    假设我们的项目打包后为SumECNU4.0.jar,那么按照上面的定义,应该在 SumECNU4.0.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread “main” java.lang.NoClassDefFoundError”的错误

    Main-Class后面是类的全地址,比如你的主文件是SMTester.java,文件里打包为package edu.ecnu.dase.test; 那么这里就写edu.ecnu.dase.test.SMTester,不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误

    写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误

    右击Java工程选择Export—>选择JAR file—>Next

    选择自己的MANIFEST.MF文件,然后Finish

    最后的项目结构

    lib目录里面是依赖的jar包,需要自己创建lib目录并且把jar放进去(与打包好的jar包同一级目录)

    方式二(Runnable JAR file)

    右击Java工程选择Export—>选择Runnable JAR file—>Next

    library handling选项说明第一个为提取extract需要的依赖的库或jar合成到jar 文件里

    第二个则仅仅打包依赖库到jar文件

    第三个则把依赖库放到一个文件夹中

    最后的项目结构

    依赖的第三方的jar包已经包含在了打包好的jar包里面了

    读取JAR包外部的配置文件

    我们的工程常常需要读取配置文件,如果配置文件存放在根目录(src)下,打jar包的时候会将配置文件一起打包。这时候我们想要修改配置文件的信息,还要用压缩工具打开jar包再进行修改,这实在有点麻烦,所以通常需要读取jar包外部的配置文件

    修改读取配置文件的代码

    首先我们要修改读取配置文件的代码

    代码例子如下(以读取数据库配置为例)

    private static Properties properties;

    /**

    * 抽取数据库配置文件

    */

    static {

    try {

    properties = new Properties();

    //读取程序内部(根目录下)的配置文件

    //InputStream resourceAsStream = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");

    /**

    * 读取程序外部配置文件(jar包外的文件)

    * System.getProperty("user.dir") 获取项目的绝对路径

    */

    String property = System.getProperty("user.dir")+"/db.properties";

    //logger.debug(property);

    InputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(property));

    properties.load(bufferedInputStream);

    } catch (IOException e) {

    logger.error("读取配置文件出错!",e);

    }

    }

    打jar包

    然后用方式一(JAR file)或者方式二(Runnable JAR file)将工程打成jar包

    然后将配置文件放在jar包同一级目录下

    最后的项目结构

    方式一(JAR file)

    方式二(Runnable JAR file)

    参考文章

    展开全文
  • jar 包是怎么运行起来的. MANIFEST.MF中指定main方法. war 包是怎么运行起来的 war包放在tomcat里的webapps目录下, servlet容器会扫描注册web.xml中的servlet哦~ war包打包, 不用web.xml的servlet3, ...

    Note

    1. jar 包是怎么运行起来的.
      MANIFEST.MF中指定main方法.
    2. war 包是怎么运行起来的
      war包放在tomcat里的webapps目录下, servlet容器会扫描注册web.xml中的servlet哦~
    3. war包打包, 不用web.xml的servlet3, https://www.cnkirito.moe/servlet-explore/
    4. jar包和war包
      war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.
      jar包:通常是开发时要引用通用类,打成包便于存放管理。
      tar只打包,不压缩
    5. dubbo 是怎么打成war包的? spring单体项目怎么达成war包的?
      ???
    6. jar包的mainclass没有main方法.
      ???
    7. jar包内容详解: https://juejin.im/post/5d16cc8cf265da1b8d163237
      打jar包, 使用jar命令, 指定入口类, 然后就好了.
      普通的 JAR 解压之后的文件目录
      .
      ├── META-INF
      │   ├── LICENSE.txt
      │   ├── MANIFEST.MF
      │   ├── NOTICE.txt
      │   ├── maven
      │   │   └── com.alibaba
      │   │   └── fastjson
      │   │   ├── pom.properties
      │   │   └── pom.xml
      │   └── services
      │   ├── javax.ws.rs.ext.MessageBodyReader
      │   ├── javax.ws.rs.ext.MessageBodyWriter
      │   ├── javax.ws.rs.ext.Providers
      │   └── org.glassfish.jersey.internal.spi.AutoDiscoverable
      └── com
      └── alibaba
      └── fastjson
      ├── JSON.class
      ├── JSONObject.class
      …省略
    展开全文
  • spring boot war包服务器部署无法运行

    千次阅读 2019-01-12 01:43:39
    war包一般都是丢到webapps下就会自动运行了,但是对于无法运行war包不知道怎么排查问题,不能看到日志十分恶心,所以想了一个简单的办法: 1.ps -ef | grep tomcat root 901 1 0 00:21 ? 00:00:39 /usr/bin/...
  • war包:是做好一个web应用后,通常是网站,打成包部署到容器中。 jar包:通常是开发时要引用通用类,打成包便于存放管理。 ear包:企业级应用,通常是EJB打成ear包。 所有的包都是用jar打的,只不过目标文件的扩展名...
  • java代码是怎么运行起来的 编写源代码程序,即*.java 打包,打成jar包或者war包,打包过程中,会有编译的过程,将*.java文件编译成 *.class文件 JVM其实就是一个进程 JVM要运行 *.class 文件中的代码,首先要将这些 ...
  • 我们平时写的java代码是怎么运行起来的 首先,我们写好了一份java代码,在这份java代码中,肯定是包含了很多.java结尾的文件,比如 User.java,UserService.java,Order.java ...... 当我们写好这些.java 后缀的...
  • 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下SpringBoot 项目打包时能打成 .jar 与 .war包文件,.jar使用 java -jar xx.jar 就可以启动,而 .war 可以部署到...
  •  SpringBoot基本上是个应用程序了,只要用java命令程序去运行就可以了,所以不用选择war类型 核心依赖&lt;!—引入SpringBoot父类依赖--&gt; &lt;dependencyManagement&gt; //只要引入这个父类...
  • 我们平时写的代码是怎么运行起来的? 首先假如我们有一份写好的java代码,肯定会有很多".java"结尾的代码文件,比如User.java,Order.java等。 其实我们java程序猿平时在开发工具ide中就有很多类似这样的java源代码...
  • 项目在本地跑没有问题,将项目打成war包放在服务器上就报这个错误,而且服务器上相应的路径下也有这个jar包, ![图片说明](https://img-ask.csdn.net/upload/201710/26/1508997637_740211.png) 错误信息: 25-...
  • 平时项目大多用到的是war包,今天实现了一个简单功能,无需部署到web服务器上,只需本地跑java代码即可,因此只要生成一个jar包。那么怎么让maven项目打成一个可以使用java命令跑的jar包呢?这里通过maven插件实现:...
  • 那我们平时写的Java代码是怎么运行起来的? 首先假设我们写好了一份Java代码,然后会把这份代码部署到机器上去运行 部署之前,我们先要进行编译,打包 .jar / war 然后会把 打包后的文件放到 机器上去部署 顺序 ...
  • 上一篇我们详细的讲解了java 虚拟机的内存模型(要想精通java,你...我们的java代码是怎么运行起来的?我们在写好java代码之后,都是先进行打包,打成jar包或者war包,最后丢到服务器上启动JVM进程就能运行了。大...
  • 如题,以前使用tomcat起war包从来没有发生过docker容器崩溃的现象,但是自从上了spring boot之后打的jar包在docker容器中运行已经崩溃了2次了,刚开始以为是用的官方镜像太大所以换了anapsix/alpine-java,结果还是...
  • 学习 JVM,那么得先明白我们平时写的代码,到底是怎么运行起来? 首先,我们会写好一堆以 .java 结尾的代码文件, 那么,我们也好的程序是如何部署到服务器呢?一般来说,我们会把代码打成“.jar”的jar ,...
  • 我们日常的工作中都使用开发工具(IntelliJ IDEA 或 Eclipse 等)可以很方便的调试程序,或者是通过打包工具把项目打包成 jar 或者 war ,放入 Tomcat 等 Web 容器中就可以正常运行了,但你有没有想过 Java 程序...
  • 受到传统mvc模式的开发影响,多数人都会想到把springboot项目打成war包在服务器容器里运行,笔者试过很多种方法打成war包部署tomcat上运行运行成功但是怎么也访问不了,一直报404的错误。 干脆我就不打成war包了...
  • 传统的 Java 应用程序都需要打一个 war ,并到到 Tomcat webapps 目录下运行Java 支持打 Jar ,但没有提供一个标准的方式在一个 Jar...
  • javaweb项目(B/S,带jsp页面的SSM或者SSH等项目)当时也是没教怎么部署,但后来到了公司,知道了直接把eclipse的运行环境下的已经编译好的项目整个copy到服务器,或者打成war包,直接上传到服务器,就行了 来个前辈,指点下,...
  • 作为开发者,我们经常会编写一些java后缀结尾的文件,我们通过类似boot的项目打成jar包或者传统ssm项目打成war包。 实际经过编译以后会生成.class文件,这是一种字节码文件,他是可以被jvm运行起来的。关于类加载...
  • 问题描述:tomcat网站突然就使用不了,上去查看之后发现tomcat程序不能正常运行解析不了war包, 然后再查看发现jdk带的java相关命令都不能使用,会报segmentation fault错误![图片说明]...
  • SpringBoot怎么打一个可执行Jar

    千次阅读 2019-11-06 15:37:10
    传统的 Java 应用程序都需要打一个 war ,并到到 Tomcat webapps 目录下运行Java 支持打 Jar ,但没有提供一个标准的方式在一个 Jar 内再加载嵌入别的 Jar ,一般需要扩展类加载器来实现,即使这样,也做...
  • 传统的 Java 应用程序都需要打一个 war ,并到到 Tomcat webapps 目录下运行Java 支持打 Jar ,但没有提供一个标准的方式在一个 Jar 内再加载嵌入别的 Jar ,一般需要扩展类加载器来实现,即使这样,也做...
  • gradle构建的项目,打war包运行后报没有sql语句错误。打开打出的war包发现没有把mapping文件(xml文件)打进去。我的mapping文件在java文件目录里。 搜了一圈居然没有 Mayday, Mayday,Mayday​
  • 传统的 Java 应用程序都需要打一个 war ,并到到 Tomcat webapps 目录下运行Java 支持打 Jar ,但没有提供一个标准的方式在一个 Jar 内再加载嵌入别的 Jar ,一般需要扩展类加载器来实现,即使这样,也做...
  • 我们日常的工作中都使用开发工具(IntelliJ IDEA 或 Eclipse 等)可以很方便的调试程序,或者是通过打包工具把项目打包成 jar 或者 war ,放入 Tomcat 等 Web 容器中就可以正常运行了,但你有没有想过 Java 程序...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

java怎么运行war包

java 订阅