我使用maven货物及其zip url安装程序功能下载tomcat进行集成测试.这在我的计算机上工作正常,但是当它在husdon中运行时有时会失败(大约10-20%).
失败的是:
Error while expanding /home/hudson/workspace/My Test Media-Archive/cfma/target/cargo/install/apache-tomcat-6.0.32.zip
java.io.IOException: Negative seek offset
at org.apache.tools.ant.taskdefs.Expand.expandFile(Expand.java:148)
at org.apache.tools.ant.taskdefs.Expand.execute(Expand.java:107)
at org.codehaus.cargo.container.installer.ZipURLInstaller.unpack(ZipURLInstaller.java:252)
at org.codehaus.cargo.container.installer.ZipURLInstaller.install(ZipURLInstaller.java:149)
at org.codehaus.cargo.maven2.configuration.Container.setupHome(Container.java:357)
at org.codehaus.cargo.maven2.configuration.Container.createContainer(Container.java:241)
at org.codehaus.cargo.maven2.AbstractCargoMojo.createNewContainer(AbstractCargoMojo.java:470)
at org.codehaus.cargo.maven2.AbstractCargoMojo.createContainer(AbstractCargoMojo.java:410)
at org.codehaus.cargo.maven2.ContainerStartMojo.doExecute(ContainerStartMojo.java:53)
at org.codehaus.cargo.maven2.AbstractCargoMojo.execute(AbstractCargoMojo.java:268)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at hudson.maven.agent.Main.launch(Main.java:173)
at hudson.maven.MavenBuilder.call(MavenBuilder.java:164)
at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:861)
at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:792)
at hudson.remoting.UserRequest.perform(UserRequest.java:114) …Run Code Online (Sandbox Code Playgroud) 我想在 H2 数据库中创建一个 H2 列,以具有其他排序规则(不区分大小写),然后其他列(区分大小写)。
在 MySQL 中我会这样做:
ALTER TABLE users MODIFY login VARCHAR(255) COLLATE utf8_general_ci
Run Code Online (Sandbox Code Playgroud)
H2中有类似的功能吗?
我正在创建spring和apache tiles baserd应用程序.我想在我的布局部分共享一个taglib.我添加了我的布局
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Run Code Online (Sandbox Code Playgroud)
现在我想在布局的部分创建一个foreach循环,但我不能.当我在布局部分添加这个taglib定义时,它起作用了.我可以只在一个地方添加taglib,还是需要在每个jsp文件中添加它?
我正在阅读Thymeleaf + Spring 3 Tutorial并尝试构建模块化应用程序.我的目标是能够从类路径中的Jars加载百万富翁模板.
为此我SpringTemplateEngine在下一个xml中配置了一个:
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolvers">
<util:set>
<ref bean="servletContextTemplateResolver" />
<ref bean="classpathPluginTemplateResolver" />
</util:set>
</property>
</bean>
<bean id="classpathPluginTemplateResolver"
class="org.mael.codex.arcana.web.thymeleaf.templates.ClasspathPluginTemplateResolver">
<property name="prefix" value="/META-INF/codexarcana/plugin/views" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML5" />
</bean>
Run Code Online (Sandbox Code Playgroud)
和ClasspathPluginTemplateResolver代码:
public class ClasspathPluginTemplateResolver extends TemplateResolver {
public ClasspathPluginTemplateResolver() {
super();
super.setResourceResolver(new ClasspathTemplateResolver());
}
@Override
public void setResourceResolver(IResourceResolver resourceResolver) {
throw new ConfigurationException("Cannot set a resource resolver on "
+ this.getClass().getName() + ". If "
+ "you want to …Run Code Online (Sandbox Code Playgroud) 我有一个包含google/Guava的容器对象,Optional我想Optinal在jsp中访问它的内容.
import com.google.common.base.Optional;
public class Container {
private Optional<User> user;
public Optional<User> getUser(){return this.user;}
}
public class User{
private String name;
public String getName() {return this.name;}
}
Run Code Online (Sandbox Code Playgroud)
A Optional有一种get()获取内部对象的方法.http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Optional.html#get%28%29
我已经尝试过(在${container}一个实例中Container):
<c:out value="${container.user.name}" />
<c:out value="${container.user.get.name}" />
<c:out value="${container.user..name}" />
Run Code Online (Sandbox Code Playgroud)
它们都不起作用(Tomcat 7.42).有没有人知道如何解决这个问题,而不向容器添加新属性(getUser2(){return this.user.get();})?