精华内容
下载资源
问答
  • IDEA MAVEN 项目 打包文件指定目录

    万次阅读 2018-01-10 18:06:02
    IDEA MAVEN 项目 打包文件指定目录

    像上一篇文章,我们提到的,IDEA MAVEN struts项目中,如果我们把 struts.xml 文件放在 src 目录下,编译的时候,将无法打包到 *\WEB-INF\classes* 路径下,运行程序的时候自然就会报错(404的错误,如下图:)

    建议大家先看目录,再按步骤操作。重点内容

    1. struts.xml 文件无法打包到 \WEB-INF\classes\

    这里写图片描述

    2. 无法打包 struts.xml 文件 导致运行报错

    这里写图片描述

    控制台异常信息,见附录。

    3.MAVEN项目 打包到指定路径 解决方案

    设置步骤如下:

    FILE -> Project Structure -> Artifacts -> 选择运行的方式 -> 找到 \WEB-INF\classes\ 路径
    -> 点击 + 号 -> 选择 File -> 找到 struts.xml 文件 -> ok ,

    这样我们便可以设置 将 指定文件 打包到指定目录了。

    这里写图片描述

    这里写图片描述

    4.设置后,查看打包结果

    这里写图片描述

    5.附录

    找不到 struts.xml ,控制台报错如下:

     org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@4347694b]
        at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4758)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4893)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:740)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:716)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:620)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:530)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1622)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:304)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1172)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1394)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1398)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1366)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.IllegalArgumentException: The main resource set specified [D:\MyProject\java\_project\mavenstruts2\target\mavenstruts2] is not valid
        at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:749)
        at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        ... 22 more
    展开全文
  • 状况:Maven会自动package一些文件到默认目录,或我们会指定一些文件生成到指定目录。比如一些配置文件,一些脚本。需求:将这些需要文件打包成一个gz压缩包方法:1. 建立assembly文件xmlns:xsi=...

    状况:Maven会自动package一些文件到默认目录,或我们会指定一些文件生成到指定目录。比如一些配置文件,一些脚本。

    需求:将这些需要文件打包成一个gz压缩包

    方法:

    1. 建立assembly文件

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">

    bin

    tar.gz

    ProjectName-${project.version}

    ${project.build.directory}/

    /

    *.war

    ${project.build.directory}/conf/

    /conf/

    *.xml

    *.properties

    意思显而易见。

    2. 修改pom.xml,加入插件

    org.apache.maven.plugins

    maven-assembly-plugin

    2.2.1

    src/main/assembly/assembly.xml

    ${project.build.directory}

    ${project.artifactId}-${project.version}

    make-assembly

    package

    single

    展开全文
  • Maven打包,包含第三方依赖失败目标 1. 将依赖第三方jar包都打进去2. 将工程java 目录下所有文件夹和配置文件,包括资源文件都打入jar包,根据目录来3. 打出jar文件可直接运行方法:采用 maven-assembly-plugin环境:...

    Maven打包,包含第三方依赖失败

    目标 1. 将依赖第三方jar包都打进去2. 将工程java 目录下所有文件夹和配置文件,包括资源文件都打入jar包,根据目录来3. 打出jar文件可直接运行方法:采用 maven-assembly-plugin环境:IDEA 14.1.5 JDK 1.8其中**/*写法,是为了保证各级子目录下的资源文件被打包,svn相关文件排除。

    pom.xml 写法src/main/java**/***/.svn/*falseorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.8

    java maven 打包怎么只带部分依赖

    addClasspath>javamaven-war-pluginorg.apache;artifactId>goals>copy-dependenciesmainClass>com.xx;outputDirectory>/artifactId>encoding>build>maven打包的时候有些jar包是不在mavencenter的。

    需要在pom中引入相关的本地jar包;execution>copyexecution>maven-jar-plugin/source>1.5&lt.apache.maven.pluginsUTF-8&lt。

    当然也是可以打包其他的文件的,诸如xml,properties等的;systemPath>/artifactId>org;manifest>/configuration>configuration>true&lt,可以使用plugin,默认将lib下的所有jar文件打包到WEB-INF/lib下.ik-analyzerplugin>artifactId>dependency>configuration>phase>installsystemorg.apache;/plugin>maven-dependency-plugin1.5/goal>version>2.3/archive>configuration>/configuration>/addClasspath>${project;warName>lib/WEB-INF/lib**/*.jar;groupId>ik-analyzermaven-compiler-pluginsourceDirectory>src/main/outputDirectory>${project.build.directory}3;/scope>${project;artifactId>

    maven provided jar 包也会打进去怎么解决

    注意scope标签,compile和runtime两种依赖打包时会打进去,provided、system、test都不会打进去。

    如果不想打包时将依赖包含进去,可以按实际情况选择后面的方式。

    maven本身引用时,在没有打包前,这些jar都是存储在maven的repository里面给所有项目共享的,这也是maven的目标之一。

    如下图,请看jar包的路径。

    用maven打包jar项目其中很多模块引用了相同jar包,如何把它些jar公...

    注意scope标签,compile和runtime两种依赖打包时会打进去,provided、system、test都不会打进去。

    如果不想打包时将依赖包含进去,可以按实际情况选择后面的方式。

    maven本身引用时,在没有打包前,这些jar都是存储在maven的repository里面给所有项目共享的,这也是maven的目标之一。

    如下图,请看jar包的路径。

    Maven依赖管理的jar文件在打包后可部署文件中的位置?

    使用maven-assembly-plugin,配合assembly.xml:org.apache.maven.pluginsmaven-assembly-plugin2.4truefalsesrc/main/assembly/assembly.xmltruejp.co.nec.nhm.df.entrance.Entrancemake-assemblypackageassembly

    怎么使用maven package命令

    此命令包含一系列过程:validate-->compile-->test-->package;Maven根据pom文件里packaging的配置,决定是生成jar文件还是war文件,并放到target目录下。

    (注:此命令需要在项目的根目录(也就是pom.xml文件所在的目录)下运行,Maven才知道打包哪个项目。

    )如何用maven打包可执行的jar方法一:将项目及所依赖的所有jar包打包成一个jar。

    1、pom.xml添加assembly插件 2、执行mvn assembly:assembly3、生成如文件4、执行java -jar quickstart-1.0.0-jar-with-dependencies.jar 备注:第2步的命令也可以改成mvn package,但需要更改pom.xml:方法二:将项目依赖的jar复制到一个目录中并在MANIFEST文件中添加Class-Path和Main-Class。

    1、在pom.xml中添加jar和dependency插件 2、执行mvn package 3、生成文件4、执行java -jar quickstart-1.0.0.jar...

    maven activebydefault不生效怎么办

    1.Java-maven异常-cannot be cast to javax.servlet.Filter 报错tomcat 启动后先将tomcat/lib目录下的jar包全部读入内存,如果webapps目录里的应用程序中WEB-INF/lib目录下有相同的包,将无法加载,报错的Filter实现了javax.servlet.Filter接口,Filter是在servlet-api.jar里。

    解决这个问题的方法就是对于servlet-ap.jar 使用 标签,编译的时候用到servlet-api和jsp-api,但在打包的时候不用这两个依赖。

    javax.servletservlet-api2.5provided中,它主要管理依赖的部署。

    目前可以使用5个值:* compile,缺省值,适用于所有阶段,会随着项目一起发布。

    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。

    如servlet.jar。

    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。

    * test,只在测试时使用,用于编译和运行测试代码。

    不会随项目发布。

    *system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

    解决SpringBoot 不继承父 parent 打包不包含依赖的问题

    创建两个项目1. cdai_codebase_parent:其他项目的Maven配置都继承这个项目中pom.xml的定义。

    2. cdai_codebase_ssh:一个SSH示例项目,继承parent项目中的配置。

    首先看cdai_codebase_parent中pom.xml的内容:通过将packaging属性定义为pom来说明当前pom.xml是用来被继承的。

    之后在parent的pom.xml中,我们可以定义一些统一的版本号(Spring等第三方包的),依赖项(所有项目都会用的JUnit),以及通用的打包配置等。

    现在,我们就可以在cdai_codebase_ssh中,通过项目的相对路径引用这个parent的pom.xml文件了。

    附:在父pom.xml中dependencyManagement中定义需要被继承的依赖,然后在子pom.xml中可以直接指定groupId和artifactId来引入,就不需要版本号了。

    展开全文
  • maven 打包时复制文件指定目录

    千次阅读 2019-05-08 10:13:00
    <artifactId>maven-resources-plugin <id>copy-resource <phase>package <goal>copy-resources ${basedir}/target <!-- 文件地址 --> ${basedir}/src/main/docker * ...
    <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
            <execution>
                <id>copy-resource</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <outputDirectory>${basedir}/target</outputDirectory>
                    <resources>
                        <resource>
                            <!-- 文件地址 -->
                            <directory>${basedir}/src/main/docker</directory>
                            <includes>
                                <include>*</include>
                            </includes>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>

    转载于:https://my.oschina.net/u/1867229/blog/3046871

    展开全文
  • 2. 拷贝至项目根目录项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示:这4个Jar包是识别网页编码所需的包。3. 配置pom.xml,依赖本地Jar配置Jar的dependency,包括g...
  • org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> &...
  • 在一个真实的项目之中必须要考虑要去考虑各种可能出现的不同的项目的环境,所以一般会专属的profiles目录,在这个目录下建立若干个子目录, 例如:dev,beta,product.定义一个“src/main/profiles”目录:“src/main/...
  • 网上有些参考,大都是复制粘贴别人的,...可以删掉文件,或者目录(包,以及包下的文件) <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin&l...
  • maven工程的pom文件中添加下面配置: &lt;build&gt; &lt;plugins&gt; &lt;!-- 将工程依赖的jar包,复制至target/lib目录下进行管理,方便已生成jar的工程进行引用。 --&gt; &...
  • maven-war-plugin    ${basedir}/src/main/webapp  ${basedir}/src/main/webapp
  • 使用Maven打包生成文件

    千次阅读 2011-09-20 09:36:38
    状况:Maven会自动package一些文件到默认目录,或我们会指定一些文件生成到指定目录。比如一些配置文件,一些脚本。 需求:将这些需要文件打包成一个gz压缩包 方法: 1. 建立assembly文件 ...
  • 在项目 pom.xml 中指定 <build> <resources> <...--控制资源目录下要打包进去的文件,这里为全部打包--> <directory>src/main/resources</directory> ...
  • maven打包。通过插件配置,将打包文件复制到指定目录,并指定文件名。
  • maven打包

    2020-12-22 16:16:57
    学习maven打包,大家尝试maven打包(clean install) 启动项目,脱离我们的开发工具,编写windows bat脚本启动项目,指定dev配置文件(springboot启动如何指定配置文件),在我们的电脑上运行起服务,页面能够独立访问 ...
  • 最近项目打包比较频繁,而且打包之后的jar包文件的都在不同项目的目录,项目发布时候来回拷贝,着实蛋疼,所以就考虑把所有的项目到集中打包到一个目录里面,省的来回拷贝了。闲话少说,直接上代码,这里提供了两种...
  • spring boot 项目使用maven打包 项目条件: *.properties放在jar包外面使其方便动态实时配置信息 *.properties在jar包内不允许让其存在(实际是config优先于jar包内的配置文件) 动态指定生成环境而配置文件(转...
  • Maven将项目打包后,在指定目录中取不到DLL文件,到Jar包中查看文件确实在指定目录中。 原因 不明,目前怀疑是jar包在Windows环境下调用自己系统支持的DLL文件出现了不兼容的情况 解决方式 将DLL文件提取到JAR包...
  • maven 打包

    2018-09-23 18:12:04
    maven打包配置,将资源文件提取出来,在打包命令-P之后指定环境资源文件,替换配置文件中的占位符${xxxx} 方法如下: 首先需要引入maven-assembly-plugin,如上图所示   接下来在pom文件中配置 在build中...
  • 最近项目开发,发现springBoot项目在使用maven打包时,我们静态资源文件都放在resource目录下面,大致如下: 在使用maven打包时,发现静态资源没有打进去。原来springBoot默认静态资源路径的时resources. 那解决...
  • 1.集成依赖项,最后生成的jar文件包含所有依赖: <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <config...
  • 插件配置 插件1 <plugin> <groupId>...frontend-maven-plugin</artifactId> <version>1.9.1</version> <configuration> <nodeVersion>v10.16.0</nodeVer
  • 在IDEA 运行是,相关配置文件会被打包到 \target\classes目录下,添加下面这个会使配置文件进入 指定的位置,而不是 \target\classes。会造成程序提示找不到 配置文件等。 <!-- && 在IDE中运行要把这个...
  • 如果不加配置,用maven进行打包时,默认不会将src/main/java目录下的XML文件打包进去。因为src/main/java被设定为了源码目录,默认只会将其中的Java文件进行编译打包。 即,默认打包得到的结果如下 可以看到...
  • 解决这个问题的方式有很多,我这里挑选了一个个人比较喜欢的方案,通过 maven profile 打包的时候按照部署环境打包不同的配置,下面说下具体的操作 配置不同环境的配置文件 建立对应的环境目录,我这里有三个环境...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 263
精华内容 105
热门标签
关键字:

maven打包指定文件目录