当前位置: 首页 > 面试题库 >

在构建时使用配置文件填充属性文件时,如何在Eclipse中运行Maven Webapp?

艾俊晖
2023-03-14
问题内容

这是我的POM中的示例配置文件:

    <profiles>
    <profile>
        <id>QA</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <jdbc.url>jdbc:mysql://127.0.0.1:3306/SomeDB</jdbc.url>
            <jdbc.username>webapp</jdbc.username>
            <jdbc.password>somepassword</jdbc.password>
        </properties>
    </profile>
    ...

然后,我的资源文件夹中就有一个属性文件,如下所示:

jdbc.url = ${jdbc.url}
jdbc.username = ${jdbc.username}
jdbc.password = ${jdbc.password}

最后,我在POM中打开过滤功能:

    <build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    ...

这实际上是一个简化的示例,但是您明白了。基本上我跑步的时候

mvn install -P QA

Maven将过滤我的app.properties文件,将所有占位符替换为配置文件中保存的值,然后部署填充的属性文件。

所有这些的问题在于,我喜欢利用Eclipse中的服务器机制,在该机制中,Tomcat在IDE中运行。我的项目在此实例上运行,Eclipse负责更新,重新部署等。但是,Maven不在画面之列,但是在IDE内进行部署时,永远不会正确填充此属性文件。

因此,如何继续在IDE中运行我的项目,但如何正确填充此属性文件?


问题答案:

谢谢亚历克斯。我最终安装了Apache Maven(Eclipse IAM)的Eclipse Integration,以前是Q for
Eclipse。

此插件解决了两个问题:在Eclipse中的“发布到服务器”事件中填充属性文件,以及填充WEB-INF / lib文件夹。以前,即使我运行mvn
eclipse:eclipse来满足我在Eclipse中的构建路径,它也没有将这些依赖项正确地发布到嵌入式服务器。这个插件可以做到这一点。解决了这两个问题后,我发现使用嵌入式服务器在Eclipse中开发Maven项目没有其他障碍。



 类似资料:
  • 问题内容: 我建立了一个小型应用程序,可以读取Excel文件并为我创建所有必要的SQL语句。客户不时操纵Excel文件。 Excel文件的第一行包含一个标题,我在阅读这些行时需要将其转换为整数。例如,在生成SQL语句之前,标题“英语”需要翻译成“ 30”。(只是一些内部定义)。(您可以将其与DNS- IP地址映射中的人类可读域名进行比较)目前,我手动进行映射,但是我想通过一个很小的Spring配置

  • 假设我们在Eclipse中有一个Maven项目。pom。xml有两个概要文件。 问题是:如何在Eclipse中运行maven以执行每个配置文件的每个目标? 我试图: 在属性/maven中设置活动maven配置文件- 我希望maven将为这两个概要文件运行,执行pom中的所有任务。xml 谢谢

  • 我拥有一个spring应用程序,希望在应用程序启动期间动态添加骆驼路由。endpoint在属性文件中配置,并在运行时加载。使用Java DSL,我使用for循环创建所有路由, 无法创建路由file_routeDirect:在:at:>>>onException[[class org.apache.camel.component.file.GenericFileOperationFailedExce

  • 问题内容: 我想使用该类填充一个。 我想将条目加载到文件中,然后将其复制到中。 之前,我曾经使用属性文件初始化,但是现在我已经定义了,并且只想在构造函数中对其进行初始化。 较早的方法: 但是现在,我有这个 如何将属性对象分配给此处? 问题答案: 如果我理解正确,则属性中的每个值都是代表整数的字符串。因此,代码如下所示:

  • 我想通过liquibase-maven-plugin运行一个liquibase更新,但是changeset yml文件在一个。jar中,我通过依赖项拉入这个文件。 当我用TotalCommander打开。jar时,它具有以下结构:xy.jar/changelog/changeset.yml。

  • 问题内容: 是否可以使用Spring @Value将值从属性文件映射到HashMap。 目前,我有这样的事情,映射一个值不是问题。但是我需要在HashMap到期中映射自定义值。这样的事情可能吗? 属性文件:“ my_service.properties” 是否可以像这样的键映射:值集 name1 = 100 name2 = 20 问题答案: 在Spring配置中注册属性文件: 然后创建组件: 当我