环境部署的路上坑很多

前天因为要帮同事把其他项目的环境部署,本想着常规操作可以解决,一顿操作以后,发现项目报错更多了....

以前发布过关于项目部署的文章,觉得这不是必备技能么,主流IDE也就是IDEA,Eclipse系列等,参考IntelliJ IDEA 和 Eclipse等工具部署项目到Tomcat

这次这个项目的坑就很烦,正常部署之后,发现页面全是报错,项目是一个SpringBoot项目,正常指定maven仓库,或从从库拉取,或从阿里云下载,执行install之后,下载jar包的地址指向了本地服务器地址,但是应该拉不下来再去阿里云下载啊,怎么还是下不下来?

最终找到pom文件,罪魁祸首代码:

<!-- 配置私有库地址 -->
<!--<repositories>
        <repository>
            <id>nexus</id>
            <name>nexus</name>
            <url>http://马赛克/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>nexus</name>
            <url>http://马赛克/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    &lt;!&ndash;
           发布到私有库
           命令:clean deploy
     &ndash;&gt;
    <distributionManagement>
        <snapshotRepository>
            <id>user-snapshot</id>
            <name>User Porject Snapshot</name>
            <url>http://马赛克/nexus/content/repositories/snapshots/</url>
            <uniqueVersion>true</uniqueVersion>
        </snapshotRepository>
        <repository>
            <id>user-release</id>
            <name>User Porject Release</name>
            <url>http://马赛克/nexus/content/repositories/releases/</url>
        </repository>
    </distributionManagement>-->

像这种jar包网上不都开源的吗?而且在父项目管理,导致整个项目不能下载,那么查一下

-<repositories>,<pluginRepositories>, <snapshotRepository>

这几个注解到底有什么作用?

<repositories>

在maven中pom.xml是Maven进行工作的主要配置文件,它的作用包括:配置Maven项目中需要使用的远程仓库,Maven项目的资源依赖关系等。其中pom是Project Object Model(项目对象模型)的简称。

在pom.xml中repositories标签的作用是用来配置maven项目的远程仓库

当pom文件指定了远程仓库,但是每次配置项目都要配置一次,干嘛不直接在setting文件中指定地址呢?不知道意义何在?

<pluginRepositories>

用来配置maven插件的远程仓库

<snapshotRepository>

而<snapshots><enabled>false</enabled></snapshots>告诉Maven不要从这个仓库下载snapshot版本的构件。禁止从公共仓库下载snapshot构件是推荐的做法,因为这些构件不稳定,且不受你控制,你应该避免使用。当然,如果你想使用局域网内组织内部的仓库,你可以激活snapshot的支持

可以说这几个配置很少见,没什么用

这样我就把这几个注解注释,然后直接maven下载就可以了




再说下最近涨知识:

问题:

注释方法一般就是这三种

<!--<script type="text/javascript">-->
/*var s = new Object();*/
<%--var s = new Object();--%>

快捷键一般不生成第三种,所以F12会看到注释代码,那么确实如果项目是涉密,或者上市内测的项目,会被竞对发现,那么如何解决?

1:所有的注释形式为<%--var s = new Object();--%>

但开发效率低,并且一开始不会注意

2:webpack打包

在项目部署打成war包之前,用webpack将前端页面抽取出来单独打包,这样整个前端页面即可解决这个问题。

webpack是个什么鬼?

官网:https://www.webpackjs.com/guides/production/

概念

查看原文|编辑此页

本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

有类似需求的,可以参考官网或查询资料解决,我就不演示了,我的Vmware又让我玩坏了,登不上了,改天还得抽时间重装。

原文发布于微信公众号 - 赵KK日常技术记录(gh_cc4c9f1a9521)

原文发表时间:2019-07-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券