我有一个Java Web应用程序,其中我在标准webapp源目录(src/main/webapp)中有一些文件夹,我不想被复制到war(exploded或packaged)中.
我不希望这些文件复制的原因之一是我们在爆炸战争中的.js和.css文件上运行YUI JS&CSS最小化器和压缩器.我想要排除的文件在压缩阶段产生错误.我不希望他们加入战争的另一个原因是他们支持测试位于webapp中的单页JS应用程序(它们是依赖于node/的客户端JS测试脚本angular.js).
以下是相关部分POM.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>parent-resources</id>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
</configuration>
<phase>generate-sources</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我尝试过,warSourceExcludes但未成功地使用它来排除某些路径,但无济于事.我的用法示例如下所示,其中client/是直接位于下方的文件夹src/main/webapp:
<configuration>
...
<warSourceExcludes>
<excludes>
<exclude>
client/
</exclude>
</excludes>
</warSourceExcludes>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)
将Web应用程序源目录中的某些路径和/或单个文件排除在爆炸战争中的正确方法是什么?
根据@maba的建议,我更新了配置如下:
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
<warSourceExcludes>client/</warSourceExcludes>
</configuration>
Run Code Online (Sandbox Code Playgroud)
该文件夹client/仍然被复制.有任何想法吗?
JPA 2.0的实体映射文件的正确起始标记是
<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
Run Code Online (Sandbox Code Playgroud)
JPA 2.1需要更正哪些内容?
我试过了
<entity-mappings version="2.1" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm">
Run Code Online (Sandbox Code Playgroud)
但是这给出了错误:
文档中没有引用语法约束(DTD或XML Schema).
我习惯于面向对象的编程.现在,我刚刚开始通过linux学习unix bash脚本.
我有一个unix脚本.我想将其分解为"模块"或最好是类似于"更多","ls"等的程序,然后使用管道将我的所有程序链接在一起.例如,"一些输入"myProg1 | myProg2 | myProg3.
我想组织我的代码,让它看起来更整洁,而不是一个脚本.此外,它将很容易进行测试和开发.
是否可以这样做,特别是作为一个新手?
在下面的代码中,Type type含义是什么,括号用于什么?
Type type = new TypeToken<List<String>>(){}.getType();
List<String> list = converter.fromJson(jsonStringArray, type );
Run Code Online (Sandbox Code Playgroud) 假设我有以下SPARQL查询:
SELECT DISTINCT ?result ?label
WHERE {
?result a database:Column .
?result rdfs:label ?label .
}
ORDER BY (LCASE(?label))
Run Code Online (Sandbox Code Playgroud)
我可以在查询中添加什么来将结果数限制为前10个?或者优选地,在第一个n×10结果之后的10个结果?我正在尝试实现分页以显示结果.
我正在阅读Peter Seibel的Practical Common Lisp.在第9章中,他正在通过创建单元测试框架来引导读者,并且他包含以下宏来确定列表是否仅由真实表达式组成:
(defmacro combine-results (&body forms)
(let ((result (gensym)))
`(let ((,result t))
,@(loop for form in forms collect `(unless ,form (setf ,result nil)))
,result)))
Run Code Online (Sandbox Code Playgroud)
我不清楚使用宏的优势在于什么 - 似乎以下内容会更清晰,并且对于动态值更有效:
(defun combine-results (&rest expressions)
(let ((result t))
(loop for expression in expressions do (unless expression (setf result nil)))
result))
Run Code Online (Sandbox Code Playgroud)
宏的优点是,它在运行时对于在编译时扩展的任何调用更有效吗?或者它是一个范例的东西?或者这本书只是试图找借口在宏中练习不同的模式?
在The Little Schemer中有一个功能可以检查列表是否是平的:
(define lat?
(lambda (l)
(cond
((null? l) #t)
((atom? (car l)) (lat? (cdr l)))
(else #f))))
Run Code Online (Sandbox Code Playgroud)
我正在尝试在Haskell中编写相同的递归函数,但没有成功:
is_lat :: [a] -> Bool
is_lat [] = True
is_lat ???
Run Code Online (Sandbox Code Playgroud)
我如何检查参数不在表单中[[a]]?换句话说,[1,2,3]是一个有效的输入,但[[1,3], [2,4]]并[[[1,2,3]]]没有.
我想在接受列表的递归函数中进一步使用它,以确保我只处理平面列表.
编辑:我看到人们因is_lat :: [a] -> Bool类型签名而感到困惑.我现在同意,我不应该在运行时检查类型.但是,是否可以在编译时检查类型?如何使该功能仅适用于平面列表?或者我应该彻底改变我的思维方式?
如何将数据类型属性的范围指定为xsd:文字形式与[AZ]匹配的字符串?OWL限制对我来说不起作用,至少乍一看.有没有办法用正则表达式做到这一点,如果有的话,在哪里?