众所周知,假设我们在maven的pom.xml中定义'transport', 在运行'mvn jetty:run'之类的命令之后,可以通过其他配置发现属性'db.name',例如'hibernate.cfg.xml'。没关系。
但是现在,我将这个项目配置为直接在tomcat上运行,通过eclipse上的'run on server'运行,而不是通过maven命令运行。 (我通过在eclipse中配置项目构面来做到这一点,使它可以使用'在服务器上运行'菜单)。你现在可以看到我只是运行eclipse,与'maven'或'pom.xml'无关,但它仍然使用像'db.name'这样的属性。如果我需要更改到另一个db,我必须更改'db.name'属性,然后在maven中运行一些命令使其生效。
任何机构都能解释一下它是如何运作的吗? maven命令是否在某个带有属性的地方生成一些文件?
答案 0 :(得分:0)
为虚拟机设置属性。 Maven运行运行时环境的新/现有(取决于配置)实例。所以你可以传递属性
-Dkey=value
(或pom中的<key>value</key>
)
如果可以在运行tomcat时传递参数,请检查eclipse配置吗?
答案 1 :(得分:0)
Eclipse maven插件(来自Eclipse基金会)了解pom.xml并且通常与任何更改同步。
但有时我发现它不同步,为了解决这个问题,我需要删除Eclipse创建的临时文件夹/文件(.settings,.classpath和.project)并再次导入。