小编Sle*_*led的帖子

在Maven Web项目中,JSP,JavaScript,CSS,图像的常规位置是什么?

我需要将传统的J2EE Web应用程序转换为新的Maven Web项目.在传统项目中,JSP位于WebApp/jsps文件WebApp/scripts夹下WebApp/images,.properties文件WebApp/resources夹下的JavaScript和CSS文件,文件夹下的文件,文件夹下的文件.

在Maven项目中,每种文件类型都会出现在哪里?我应该创建文件夹下src/main/webapp,如:src/main/webapp/jsps,src/main/webapp/images,src/main/webapp/resources...等,并将文件从旧项目复制?或者是否有任何标准结构可供遵循?

conventions java-ee maven

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

如何确保构建器模式完成?

编辑:我不担心被错误的顺序调用,因为这是通过使用多个接口强制执行,我只是担心终端方法被调用.


我正在使用构建器模式在我们的系统中创建权限.我选择了一个生成器模式,因为安全是我们的产品很重要(涉及未成年人这么COPPA等),我觉得这是迫切需要的权限是可读的,并认为可读性是极为重要的(即使用一个流畅的风格构建器模式而不是具有6个值的单个函数).

代码如下所示:

 permissionManager.grantUser( userId ).permissionTo( Right.READ ).item( docId ).asOf( new Date() );
Run Code Online (Sandbox Code Playgroud)

这些方法填充私有辅助bean,在终端方法(即asOf)提交数据库权限时; 如果那个方法没有被调用就没有任何反应.有时,开发人员会忘记调用终端方法,该方法不会导致编译器错误,并且很容易错过快速阅读/略读代码.

我该怎么做才能防止这个问题?我不想返回需要保存的Permission对象,因为这会引入更多噪音并使权限代码更难以阅读,跟踪,跟踪和理解.

我已经考虑过在终端命令标记的后台上放置一个标志.然后,检查finalize方法中的标志,如果创建对象而没有持久化,则写入日志.(我知道finalize不能保证运行,但这是我能想到的最好的.)

java design-patterns builder-pattern

13
推荐指数
4
解决办法
3338
查看次数

非空参数的方法引用?

我正在阅读Java 8的功能,我看到它们有方法引用,但我没有看到如何在方法重载时指定哪个方法.有人知道吗?

java lambda java-8

13
推荐指数
2
解决办法
3003
查看次数

配置Maven Shade minimizeJar以包含类文件

我试图通过使用Maven Shade Plugin's 来最小化UberJar的大小minimizeJar.它看起来minimizeJar只包含在代码中静态导入的类(我怀疑这是因为我LogFactory.class在uber jar中看到org\apache\commons\logging\但是没有impl包含类的包,因此java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl当我运行uber-jar时抛出).

有什么方法我可以告诉Maven的Shade插件将指定的包包含到最终的jar中,无论minimizeJar建议是什么?

这里是我正在尝试的pom片段:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>1.5</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
                <configuration>
                    <minimizeJar>true</minimizeJar>
                    <filters>
                        <filter>
                            <artifact>commons-logging:commons-logging</artifact>
                            <includes>
                                <include>org/apache/commons/logging/**</include>
                            </includes>
                        </filter>    
                    </filters>
                    <transformers>
                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>com.myproject.Main</mainClass>
                        </transformer>
                    </transformers>                            
                </configuration>
            </execution>
        </executions>
    </plugin>
Run Code Online (Sandbox Code Playgroud)

java jar maven

12
推荐指数
2
解决办法
9591
查看次数

用于javascript的UML?

我正在寻找一种图形化表示javascript对象的方法......

我知道有UML,但是例如,如何表示2个对象之间的,例如:

var a, b;

a = {};
b = Object.create(a);
Run Code Online (Sandbox Code Playgroud)

直观地说,我会画出这样的东西:

+-----+
|b    |
|-----|
|     |
+--+--+
   |     +-----+
   +---->|a    |
         |-----|
         |     |
         +-----+
Run Code Online (Sandbox Code Playgroud)

但在UML中有一个不错的代表吗?

那么mixins怎么样?

c = $.extend({}, a, b)

+-----+           +-----+
|a    |           |b    |
|-----|           |-----|
|     |<----------|     |
+-----+           +-----+
   +     +-----+
   |     |c    |
   |     |-----|
   +---->|     |
         +-----+
Run Code Online (Sandbox Code Playgroud)

javascript uml object-diagram

12
推荐指数
2
解决办法
9294
查看次数

magento没有发出任何邮件,如何调试?

Magento 不发送任何电子邮件,跨国,联系表格给出错误

 cannot send your mail at this moment
Run Code Online (Sandbox Code Playgroud)

我检查了

  • magento中的邮件设置,所有电子邮件帐户都在设置中设置
  • php邮件工作正常test.php与php邮件发送消息
  • 检查了我的邮件服务器日志,但没有看到任何错误
  • /var/log/system.log和exception.log仅显示错误,而不是错误原因

    exception 'Zend_Mail_Transport_Exception' with message 'Unable to send mail. ' in /var/webshop/httpdocs/lib/Zend/Mail/Transport/Sendmail.php:137

php debugging zend-framework magento zend-mail

12
推荐指数
2
解决办法
5万
查看次数

如何从存储库列出工件的传递依赖性?

我想知道:有没有办法使用Maven Dependency插件(或命令行上的其他东西),列出来自存储库(即不在我的pom.xml)中的工件的传递依赖性?

我知道可以mvn dependency:tree用来列出我的本地项目的依赖项,但是我想将它添加到我的项目之前知道某些东西的依赖关系(即做出明智的决定),并且pom.xml为了依赖的目的将依赖项添加到本地插件似乎是hackish.

希望我可以运行如下:

mvn dependency:tree "-DgroupId=net.jawr" "-DartifactId=jawr-core" "-Dversion=3.5"
Run Code Online (Sandbox Code Playgroud)

我提出的最好的是:

  1. 删除我的本地存储库(即~/.m2/repository)
  2. mvn dependency:get "-DgroupId=net.jawr" "-DartifactId=jawr-core" "-Dversion=3.5"
  3. 检查输出

但这似乎非常黑客和浪费.

PS - 我不在乎它是否是树格式.

maven maven-dependency-plugin

12
推荐指数
1
解决办法
7124
查看次数

如何从Hibernate会话中删除不需要的实体?

我试图Entity1通过查询映射的实体来获取它.我正在使用CriteriaBuilder如下所示执行此操作

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Entity1> createQuery = criteriaBuilder.createQuery(Entity1.class);
Root<Entity1> root = createQuery.from(Entity1.class);
Join<Entity1, MappedEntity2> mappedEntity2Join = root.join("mappedEntity2");
createQuery.select(root);

predicate = criteriaBuilder.and(predicate, criteriaBuilder.equal(root.get(COL_USER_ID), userId));

// where clause to filter by query params
createQuery.where(predicate).distinct(true);
createQuery.getRestriction();

TypedQuery<Entity1> query = entityManager.createQuery(createQuery);
Run Code Online (Sandbox Code Playgroud)

但在随机的情况下,我发现查询是在"Entity2.entities1"上执行的,而没有在join中指定Entity2.我的猜测是Entity2已经在会话中可用,并且它使用entities1进行了懒惰的初始化.因此,Criteria会为Entity2而不是Entity1生成查询.

有没有办法限制条件查询Entity1?或者如何在执行此特定条件之前从会话中删除Entity2.

预期查询,

select * 
from Entity1 obj1_ 
inner join mappedEntity1 mObj_ on obj1_.obj_id=mObj_.id 
where obj1_.id=?
Run Code Online (Sandbox Code Playgroud)

但查询生成为,

select * 
from entities1_entities2 obj0_ 
inner join Entity1 obj1_ on obj0_.obj_id=obj1_.id 
where obj0_.entity2_id=?
Run Code Online (Sandbox Code Playgroud)

实体结构:

public class Entity1 {

    @ManyToOne
    MappedEntity1 mappedEntity1; …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa lazy-initialization

12
推荐指数
1
解决办法
423
查看次数

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

尽管设置为UTF-8,但Maven编译期间的"非法字符:\ 65279"

我试图编译保存为UTF-8有一个文件Maven的Java项目BOM,但我正在逐渐从BOM字符,非法字符错误,尽管有两个我project.build.sourceEncoding还有encoding的中maven-compiler-plugin集来UTF-8.

我错过了额外的设置吗?我是否可以在不删除BOM的情况下进行编译(不允许对源进行任何更改,但我可以修改POM)?


错误:

java:C:\ code\main\src\test\java \net\initech\finance\FinanceTest.java:1:非法字符:\ 65279

财产:

<properties>
    ...
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    ...
</properties>
Run Code Online (Sandbox Code Playgroud)

插件:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

java utf-8 maven

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