Tag: maven

Maven WAR Build for Tomcat:“无法打开ServletContext资源”

关于这个话题已经有一些问题了,但是我的Tomcat运行还不顺畅。 我的工作空间包括jsf和spring。 只要我在Eclipse中构build和运行locale中的项目并将其部署到Eclipse中的Tomcat中,一切都运行良好。 但是现在我想将war文件部署到外部Tomcat中,在我的情况下是Docker-Container中的Tomcat。 所以我做的是: *使用以下Maven-pom(摘录)构buildWAR文件。 *并将战争文件复制到我的正在运行的容器,如下所示: docker cp projectName.war containerID:/ usr / local / tomcat / webapps / 在Tomcat启动期间,我总是得到以下错误。 一开始,我已经将applicationContext.xml文件直接放在WEB-INF文件夹中。 但是我知道在“\ WEB-INF \ classes”中使用它会更好,所以我将它移动到那里,并在web.xml中执行了以下context-Location-parameter。 所以工作空间的Hierarchy看起来像下面的图片projectName | – 网页内容 | – WEB-INF | – pom.xml 另一件事是,当我在构build之后提取war文件以查看applicationContext.xml文件的实际位置时,我在“\ WEB-INF \ classes”中find了它,但是在web中的context-Location-parameter .xml缺lessfind它。 我也试着把applicationContext.xml -File的副本放到src / main / resources中 ,这导致,这个文件位于WAR文件的正确位置,但web.xml改变了。 有人build议在何处放置applicationContext.xml文件,以及如何在构build过程中包含和指向正确的方法。 此外,为什么web.xml在构build过程中发生变化。 还是有一个完全不同的问题? 感谢帮助。 的pom.xml <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> […]

如何部署Dockerized Java / Widlfly Swarm Fat Jar微服务+数据库

我对Docker非常陌生,我想让我的JEE(Wildfly Swarm)应用程序和我的PostgreSQL数据库dockerized。 它可以捆绑在同一个容器中,也可以分开,因为我不知道现在会更好。 我发现了一些使用fabric8io / docker-maven-plugin的 dockerize Wildfly Swarm应用相关的内容 ,但我不知道如何将数据库添加到这个图像。 谢谢

maven-docker-plugin:如何获取容器的IP地址

我是Docker和fabric8的maven-docker-plugin docker maven-docker-plugin新手。 我想用两个容器做一些集成testing,一个用我的webapp部署,另一个用数据库。 更新:我可以运行这两个容器使用这些命令: docker run –name db -p 27017:27017 mongo docker run –name as -p 8080:8080 –link db mycustom/wildfly /opt/jboss/wildfly/standalone/bin/standalone.sh -b 0.0.0.0 -Ddbhost=172.17.0.2 -Ddbport=27017 这是我使用的dockerfile: FROM fpezzati/wildflyogm ARG webapp COPY $webapp /opt/jboss/wildfly/standalone/deployments/ EXPOSE 8080 CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"] 现在我想使用fabric8 maven-docker-plugin docker maven-docker-plugin运行这两个容器。 在这一点上,我必须弄清楚如何使用maven-docker-plugin -Ddbhost=${dbhost} -Ddbport=${dbport} maven-docker-plugin来表示一个能够使用两个参数-Ddbhost=${dbhost} -Ddbport=${dbport}的run命令,其中${dbhost}和${dbport}应该是具有数据库容器IP地址和暴露端口的两个maven属性。 我怎么能像在手边的例子中那样expression一个运行命令,并使用fabric8 maven-docker-plugin docker maven-docker-plugin让我的webapp知道数据库的IP地址? 更新:我清理了我在我的pom.xml和dockerfile中做了一些混乱。 现在我可以通过使用环境variables传递参数。 […]

gitlab-runner和docker executor找不到官方的图片,比如maven:3.3.9-jdk-8

试图用docker executor来使用gitlab-runner。 我使用标准的maven .gitlab-ci.yml模板来标识库图像maven:3.3.9-jdk-8 。 出于某种原因,我得到这个错误: Running with gitlab-ci-multi-runner 1.11.0 (33af656) on 4caf1e03c61d (0cb58cc5) Using Docker executor with image maven:3.3.9-jdk-8 … ERROR: Preparation failed: no such image Will be retried in 3s … Using Docker executor with image maven:3.3.9-jdk-8 … ERROR: Preparation failed: no such image Will be retried in 3s … Using Docker executor […]

无法在Docker容器中运行jar Spring引导

我有Spring启动应用程序,我想在Docker容器中运行它。 我可以使用java -jar在我的OS X中运行jar文件,但不能在容器中运行。 我使用mvn clean package docker:build docker run wayruha/schedule_guard构build镜像mvn clean package docker:build使用docker run wayruha/schedule_guard mvn clean package docker:build和运行容器,并得到exception(问题结尾的堆栈跟踪) jar子的内容: -META-INF | — MANIFEST.MF | —行家 | -boot-INF | —class | —– COM | —– LIB | —–的logback-spring.xml | —– 其他资源 | -org 当然,它不能find在src/main logback属性,它不在那里,但为什么它在我的操作系统? 或者为什么它不在容器中工作? 除此之外,我的代码中没有任何对src/main/resources/logback-spring.xml (也许Spring试图find它?) 非常感谢您的帮助,我自己也找不到解决办法 这是我的pom.xml <?xml version="1.0" encoding="UTF-8"?> <project […]

docker中运行Maven的多个SLF4J绑定

我有一个基本的docker图像为我所有的项目,其中包含Maven和Gradle安装。 问题是 : 如果我启动了一个“maven干净安装”,使docker,日志输出不是预期的(我错过了许多日志条目),并显示在启动时,以下内容: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/lib/gradle-logging-3.2.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/lib/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext] 现在我的问题 : 我如何从maven运行的类path中删除gradle slf4j绑定?

使用wildfly maven docker intellij的hotdeploy / hotswap类

我有一个intellij 2016当前编译我的Java文件在飞行中的设置。 由于intellij中的一些configuration,可以将任何更改直接传播给tomcat。 这样,我不必手动构build一个新的应用程序,并将其部署到Tomcat,从而提高了用户的工作效率。 我们要删除tomcat,并开始使用wildfly10,但也保持hotdeployfunction。 最重要的是,萤火虫服务器将托pipe在docker集装箱中。 所以我所做的就是使用docker将wildfly / standalone / deployment / myapp.war挂载到我的主目录myapp / target / myapp.war中。 另外,我configuration了一个jboss远程服务器configuration,使用远程启动设置为同一个文件系统,让maven构build一场爆炸战争。 这样,如果执行maven构build,target / myapp.war目录的内容可以在我的docker容器中直接使用。 当我运行容器并执行一个新的maven包时,我确实看到wildfly表示find新的更改并重新部署成功。 不幸的是,这只能连续进行一两次。 所以来自tomcat hotdeploy,其中没有maven构build涉及到任何可以直接在tomcat中使用的更改,我想知道是否可以用setup:intellij,maven,wildfly和docker来实现。 因此,如果intellij中的java文件的更改被编译并推到wildfly而不重新部署或maven构build?

使用spotify maven插件构buildDocker镜像时,会更改小型二进制文件

我正在使用Spotify的docker-maven-plugin来构buildDocker镜像。 更确切地说,这一个: <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> 我的开发机器有一个Windows 7,所以我运行docker机版本docker-machine version 0.9.0, build 15fd4c7docker版本是这样的 Client: Version: 1.13.1 API version: 1.26 Go version: go1.7.5 Git commit: 092cba3 Built: Wed Feb 8 08:47:51 2017 OS/Arch: windows/amd64 Server: Version: 17.03.0-ce API version: 1.26 (minimum version 1.12) Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 07:52:04 2017 OS/Arch: linux/amd64 Experimental: […]

Gitlab CI Artifacts永久移动错误301?

我刚刚完成设置Gitlab Ci,使用Maven 3和Java 8的Docker容器来构build我的项目。 然而,当我尝试将生成的jar文件保存为工件时,构build成功完成,Docker告诉我,findjar文件后,工件已被永久移动…. 这一个让我挠了挠头。 这是我的Giitlab CI yml文件: image: kaiwinter/docker-java8-maven before_script: – apt-get update –fix-missing – apt-get install -y git – git clone -v https://github.com/stefaneidelloth/javafx-d3.git /builds/external/javafxd3 – cd /builds/external/javafxd3/javafx-d3 – mvn install – cd /builds/external/myDemo build: script: "mvn -B install" tags: – java8 – maven3 artifacts: paths: – target/*.jar 这是来自Job的控制台的最后几行。 [INFO] BUILD SUCCESS [INFO] […]

如何使用docker maven插件将文件从绝对path复制到docker镜像

我正在用Java编写微服务。 最后,我运行maven build来生成基于目录[project-root] / docker中的Dockerfile的Docker镜像。 有些文件需要复制到Docker镜像中。 因此,我的Dockerfile中有以下几行: # HDFS base image FROM mdouchement/hdfs COPY ${workdir.name} /${workdir.name} COPY ${resource.dir} /etc/hadoop variablesworkdir.name和resource.dir在pom.xml中定义 <properties> <workdir.name>javarun</workdir.name> <resource.dir>${project.baseUri}/src/main/resources</resource.dir> </properties> 当第一个复制命令使用相当于target/docker/javarun相对path时,第二个命令使用绝对path。 原来第一个COPY作品,而我得到第二个COPY错误说目录没有find: [INFO] Building image docker.repo.lgc.com/distarch/com.lgc.dist.core.msp.service.hdfs Step 1/3 : FROM mdouchement/hdfs —> c95344e8749d Step 2/3 : COPY javarun /javarun —> e2e8cb5bc21f Removing intermediate container f49da68fe77e Step 3/3 : COPY file:/C:/Users/H184870/Workspace/core/com.lgc.dist.core.msp.service.hdfs//src/main/resources /etc/hadoop […]