小编Sim*_*ren的帖子

在java EE中,我应该将哪些jar放入库目录?

我有一个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)

现在,对于问题:

  1. 是否有任何指南应该放在库目录中,我的解决方案通常是否可以接受?
  2. 为什么lib目录中的jar中没有可用于耳根的库?
  3. 为什么maven不会自动解决这个问题?

编辑:耳朵的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)

ear classpath java-ee maven maven-ear-plugin

11
推荐指数
2
解决办法
1万
查看次数

有没有办法在使用-heart运行时杀死erlang vm?

标题几乎总结了它.我有一个运行-heart的zotonic站点,它使用了大量的cpu时间,我无法得到一个erlang shell.那么,有没有办法杀死虚拟机?killall heartkillall beam.smp没有工作.

我发现了这个问题: 停止Erlang守护进程 ,但它并没有真正回答我的问题.

erlang heartbeat zotonic

5
推荐指数
1
解决办法
3683
查看次数

我应该总是指定使用哪个IFormatProvider吗?

我尝试在我们的产品的几个程序集上运行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或者"仅仅"是规则中使用的启发式的限制?

.net fxcop iformatprovider

4
推荐指数
1
解决办法
4980
查看次数