当前位置: 首页 > 知识库问答 >
问题:

我正在尝试从Dockerfile执行mvn安装,但它不起作用,说mvn找不到

龙星渊
2023-03-14
FROM scratch
FROM ubuntu:16.04

RUN mkdir /opt/java8
RUN mkdir /opt/tomcat8
RUN mkdir /opt/maven3

ENV JAVA_HOME /opt/java8
ENV CATALINA_HOME /opt/tomcat8

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$M2_HOME/bin

ADD jdk1.8.0_112 /opt/java8
ADD apache-tomcat-8.0.38 /opt/tomcat8

WORKDIR /home/veni/git/M_UserTP
RUN mvn install

WORKDIR /home/veni/git/M_UserTP/target 
RUN mv M_UserTP.war 
/home/veni/Documents/dhaval_bhoot/docker_images/tomcat1

ADD M_UserTP.war /opt/tomcat8/webapps

EXPOSE 8080

CMD ["catalina.sh", "run"]

所以现在我退出root用户,返回sudo su作为root用户并检查PATH变量,它没有maven的PATH

/bin/sh:1:mvn:找不到命令“/bin/sh-c mvn install”返回非零代码:127

共有1个答案

卫鸿朗
2023-03-14

假设您希望在Tomcat8Docker容器中运行应用程序:

您的maven项目的布局应该如下所示:

m_usertp
+dockerfile
+pom.xml
+src
+目标

<build>
    <finalName>${project.artifactId}</finalName>
    ...
</build>
FROM tomcat:8.0    
COPY target/M_UserTP.war $CATALINA_HOME/webapps/

要生成它,请执行:

mvn clean install && docker build . -t Bhoot/M_UserTP

您可以使用所需的任何-t标记。

在下载标准Tomcat8映像时,第一次执行此操作需要一些时间。

docker run --detach --publish 8080:8080 Bhoot/M_UserTP
 类似资料:
  • 关于Maven的小问题,以及安装和站点之间的区别。 当运行一个非常基本的干净安装时,我可以看到单元测试运行良好,完全没有问题。 然后,我得到了为项目生成一个网站的要求,以放置测试报告、javadoc等... 因此,我只是在maven生命周期中更进一步,使用mvn clean site而不是mvn Clear install。 然而,令人惊讶的是,mvn干净的网站似乎没有运行测试用例。(与 mvn

  • 我陷入了这个问题。我正试图用maven测试这个项目。我输入了“mvn测试”、“mvn测试编译”、“mvn包”等等。还要多次尝试清理项目,重新安装maven/intellij和testng,还要尝试更改testng。xml目录。但它总是显示如下相同的输出: 我的POM是: 我的testng.xml是: 结构是: 项目结构 如果有人帮我,我会很高兴...一切都从“类路径错误”开始,事情出错了

  • 你好自从我第一次尝试运行命令“mvn clean install”以来,一直出现此错误: [INFO]构建失败[INFO] - [INFO]总时间:41.009 s [INFO]完成时间:2022-09-24t 11:12:43-03:00[INFO]-[ERROR]未能执行目标org . Apache . maven . plugins:maven-compiler-plugin:3 . 8 .

  • 我下载了Maven并将其解压到文件夹中,然后将这些行添加到/etc/environment中。 export m2_home=/usr/local/apache-maven/apache-maven-3.0.4 导出M2=$M2_HOME/bin 解决了。抱歉,如果忘记回复这个。我在~/.bashrc中添加了导出行,然后它就开始工作了。

  • 我是Maven的新手,我有一个基于Java的web项目,在我的MyEclipse中配置了Maven。 现在,如果我修改了任何Java文件,那么我需要执行还是?