我需要将传统的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...等,并将文件从旧项目复制?或者是否有任何标准结构可供遵循?
编辑:我不担心被错误的顺序调用,因为这是通过使用多个接口强制执行,我只是担心终端方法被调用.
我正在使用构建器模式在我们的系统中创建权限.我选择了一个生成器模式,因为安全是我们的产品很重要(涉及未成年人这么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 8的功能,我看到它们有方法引用,但我没有看到如何在方法重载时指定哪个方法.有人知道吗?
我试图通过使用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) 我正在寻找一种图形化表示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) Magento 不发送任何电子邮件,跨国,联系表格给出错误
cannot send your mail at this moment
Run Code Online (Sandbox Code Playgroud)
我检查了
/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
我想知道:有没有办法使用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)
我提出的最好的是:
~/.m2/repository)mvn dependency:get "-DgroupId=net.jawr" "-DartifactId=jawr-core" "-Dversion=3.5" 但这似乎非常黑客和浪费.
PS - 我不在乎它是否是树格式.
我试图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) 如何在Apache POI的HSSFCell类中旋转文本?
我试图编译保存为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)