我有一个Java EE项目.该项目使用maven构建为.ear存档.有一个包含JPA 2持久性单元的库jar,它位于耳朵的库目录中(因此多个其他模块可以使用它).
虽然在这个持久性单元中添加了Shiro的Permission接口的实现作为实体,但我无法正确部署,因为shiro类在持久性单元中不可用.我最终发现我需要在库目录中放置库jar的所有依赖项(也适用于传递deps)以使其部署.
所以最终的布局看起来大致如下:
ear
`- lib
`- persistence-unit.jar
- shiro-core.jar
- slf4j-api.jar
- module1
- moduleN
- library1.jar
- libraryN.jar
Run Code Online (Sandbox Code Playgroud)
现在,对于问题:
编辑:耳朵的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>ear</artifactId>
<packaging>ear</packaging>
<parent>
<groupId>com.example</groupId>
<artifactId>project</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.7</version>
<configuration>
<modules>
<webModule>
<!-- ... -->
</webModule>
<ejbModule>
<!-- ... -->
</ejbModule>
<jarModule>
<groupId>com.example</groupId>
<artifactId>persistence-unit</artifactId>
<bundleDir>lib</bundleDir>
</jarModule>
<-- I added these to get the deployment working -->
<jarModule>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<bundleDir>lib</bundleDir> …Run Code Online (Sandbox Code Playgroud) 标题几乎总结了它.我有一个运行-heart的zotonic站点,它使用了大量的cpu时间,我无法得到一个erlang shell.那么,有没有办法杀死虚拟机?killall heart并killall beam.smp没有工作.
我发现了这个问题: 停止Erlang守护进程 ,但它并没有真正回答我的问题.
我尝试在我们的产品的几个程序集上运行FxCop,并且我获得了许多匹配"Specify IFormatProvider"规则.
碰巧,其中一些是合法的,但它也匹配这样的代码:
Logger.DebugFormat("Appending file {0}", fileName);
Run Code Online (Sandbox Code Playgroud)
哪个可以写成
Logger.DebugFormat(CultureInfo.InvariantCulture, "Appending file {0}", fileName);
Run Code Online (Sandbox Code Playgroud)
第二种变体更难阅读.
那么,它是否真的建议始终指定IFormatProvider或者"仅仅"是规则中使用的启发式的限制?