maven 使用profile却报异常找不到?
我的配置文件里,*.properties , 定义的都是如下格式
jdbc.url = ${p.jdbc.url}
然后在具体的pom.xml 里<p.jdbc.url>具体的值</p.jdbc.url>
项目启动时,发现总报异常,说找不到${p.jdbc.url}
org.springframework.beans.factory.BeanDefinionStoreException:Invalid bean difinion with name '${p.jdbc.url}' defined is null. could't not resolve placeholder.......
请问谁遇到过。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
具体步骤看看这个吧:
http://edu.51cto.com/course/course_id-5127.html
回复
激活了也没有用啊,mvn的profile中的占位符是没有办法在你的应用中使用的,这是两个不同的应用。如果你只是想了解profile中配置激活的条件,可以搜一下maven profile activation
回复
我觉得你说的不对。这里有个链接。他和我遇到了一样的问题 http://stackoverflow.com/questions/25473648/error-using-maven-profiles
回复
他也遇到了问题不是吗?他的问题也没有解决对吧。不管我说的对不对,也许你应该换一种思路尝试一下了,不要被现有的思路所局限,虽然坚持证明自己最初的想法是值得赞赏的,但并不一定都是有效的。
回复
你的方法是可以的,我用过,但是公司项目都是这样部署的。
回复
我不是说这一个,我想问一下的是在maven profile中的设置的值,在你的应用中真的能读到?有成功过的例子吗?
引用来自“trayvon”的评论
*.properties文件中应该是键值对的形式如:
jdbc.url=jdbc:mysql://127.0.0.1:3306/dbName?characterEncoding=utf8
如果要在pom.xml中使用可以:
<properties>
<jdbc.url>jdbc.url=jdbc:mysql://127.0.0.1:3306/dbName?characterEncoding=utf8</jdbc.url>
</properties>
xml标签本身是不支持替换的,如像<p.jdbc.url>具体的值</p.jdbc.url>
嗯。你说的这种形式我是用过的。 maven的profile你用过吗?
回复
properties中jdbc.url = ${p.jdbc.url} 是吧 ${p.jdbc.url} 当做字符串的,所以jdbc.url的只是 ${p.jdbc.url} 。
回复
${p.jdbc.url} 这个字符串应该是maven编译的时候被替换成了pom.xml 的profile里面定义的具体值。
回复
字数有限制,你看一下下面一个吧。
*.properties文件中应该是键值对的形式如:
jdbc.url=jdbc:mysql://127.0.0.1:3306/dbName?characterEncoding=utf8
如果要在pom.xml中使用可以:
<properties>
<jdbc.url>jdbc.url=jdbc:mysql://127.0.0.1:3306/dbName?characterEncoding=utf8</jdbc.url>
</properties>
xml标签本身是不支持替换的,如像<p.jdbc.url>具体的值</p.jdbc.url>