我在Eclipse中使用Maven.是否可以构建项目,然后将构建的WAR文件部署到Tomcat服务器?
我用的是Windows.我可以构建WAR
文件,也可以手动将其部署在服务器上.但我想WAR
在构建操作后自动部署文件,但它不起作用.我是Maven的新手.
我应该在运行配置中设置一些东西吗?我已设定install
目标值.
的pom.xml
<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>
<groupId>HelloWorld</groupId>
<artifactId>HelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>HelloWorld</name>
<properties>
<spring.version>3.2.2.RELEASE</spring.version>
</properties>
<dependencies>
<!-- Java Server Pages Standard Tag Library -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- Spring 3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
<build>
<directory>${project.basedir}/target</directory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration> …
Run Code Online (Sandbox Code Playgroud) 我在Maven项目中有Spring框架依赖项.我想附加Javadoc用于spring框架依赖项.
我添加到pom.xml
以下行
<repositories>
<repository>
<id>springsource-repo</id>
<name>SpringSource Repository</name>
<url>http://repo.springsource.org/release</url>
</repository>
</repositories>
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
我已经安装了m2eclipse,我还在Download Artifact Sources/Javadoc
设置中选中了选项.
当我跑步时mvn eclipse:eclipse
,它没有显示任何警告.但是.jar
没有下载javadoc 文件.
我的Angular
应用程序具有以下结构
- src/app/main/
|
-main.js
-main.controller.js
-index.html
Run Code Online (Sandbox Code Playgroud)
我正在使用Gulp.构建完成后,*.js
文件以错误的顺序注入index.html
.该文件main.js
取决于main.controller.js
,所以main.controller.js
必须先注入main.js
.
<!-- build:js({.tmp/serve,.tmp/partials,src}) scripts/app.js -->
<!-- inject:js -->
<script src="app/main/main.js"></script>
<script src="app/main/main.controller.js"></script>
<script src="app/index.js"></script>
<!-- endinject -->
Run Code Online (Sandbox Code Playgroud)
这是我的 gulpfile.js
'use strict';
var gulp = require('gulp');
var gutil = require('gulp-util');
var wrench = require('wrench');
var options = {
src: 'src',
dist: 'dist',
tmp: '.tmp',
e2e: 'e2e',
errorHandler: function(title) {
return function(err) {
gutil.log(gutil.colors.red('[' + title + ']'), err.toString());
this.emit('end');
}; …
Run Code Online (Sandbox Code Playgroud) 我尝试为ProductDAO
类运行JUnit测试用例,这是spring Web应用程序的一部分.但它仍然失败.我不确定我的test-context.xml文件.
我ProductDAOImplTest
在路径中有类,src/test/java
并且ProductController
在栈中提到的类被保存在路径中src/main/java
.
ProductDAOImplTest
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/test/resources/test-context.xml")
@Transactional
public class ProductDAOImplTest {
@Autowired
private ProductDAO productDAO;
@Test
public void testAdd() {
fail("Not yet implemented");
}
@Test
public void testEdit() {
fail("Not yet implemented");
}
@Test
public void testGetAll() {
fail("Not yet implemented");
}
@Test
public void testGet() {
fail("Not yet implemented");
}
@Test
public void testRemove() {
fail("Not yet implemented");
}
@Test
public void testGetByPage() {
fail("Not yet implemented");
}
} …
Run Code Online (Sandbox Code Playgroud) 我有一个静态方法跟随类:
public class Helper {
public static <T extends Number & Comparable<? super Number>> Boolean inRange(T value, T minRange, T maxRange) {
// equivalent (value >= minRange && value <= maxRange)
if (value.compareTo(minRange) >= 0 && value.compareTo(maxRange) <= 0)
return true;
else
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我试着调用这个方法:
Integer value = 2;
Integer min = 3;
Integer max = 8;
Helper.inRange(value, min, max) ;
Run Code Online (Sandbox Code Playgroud)
Netbeans编译器显示此错误消息:
类Helper中的方法inRange不能应用于给定的类型; required:T,T,T found:java.lang.Integer,java.lang.Integer,java.lang.Integer reason:推断类型不符合推断的声明边界:java.lang.Integer bound(s) :java.lang.Number,java.lang.Comparable
有任何想法吗?
谢谢.
我使用Orika mapper将Hibernate实体映射到webservice实体.它工作得很完美,但它有时会抛出以下异常.我不知道如何解决它.我用tomcat.
ma.glasnost.orika.MappingException: ma.glasnost.orika.impl.generator.CompilerStrategy$SourceCodeGenerationException: class com.example.hibernate.Product$$EnhancerByCGLIB$$b9465553 is not accessible
at ma.glasnost.orika.impl.generator.MapperGenerator.build(MapperGenerator.java:95)
at ma.glasnost.orika.impl.DefaultMapperFactory.buildMapper(DefaultMapperFactory.java:1046)
at ma.glasnost.orika.impl.DefaultMapperFactory.registerClassMap(DefaultMapperFactory.java:880)
at com.example.mapping.EntityMapper.map(EntityMapper.java:50)
at com.example.mapping.EntityMapper.map(EntityMapper.java:69)
at com.example.ws.helpers.store.ProductHelper.getAll(ProductHelper.java:53)
at com.example.ws.StoreWebService.getProducts(StoreWebService.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:95)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:629)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:588)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:573)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:470)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:295)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:515)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:285)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:155)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:189)
at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) …
Run Code Online (Sandbox Code Playgroud) 我想ShaPasswordEncoder
在我的Spring应用程序中使用密码编码.
ShaPasswordEncoder sha = new ShaPasswordEncoder(256);
sha.setIterations(1000);
String hash = sha.encodePassword(password, salt);
Run Code Online (Sandbox Code Playgroud)
但我不应该把它放在那里salt param
.它可以是静态短语(例如sT4t1cPhr453),还是每个用户不同的动态字符串(例如用户名或用户ID)?
我用户自定义AuthenticationProvider
,所以我的安全上下文如下:
<authentication-manager>
<authentication-provider ref="customAuthenticationProvider" />
</authentication-manager>
<beans:bean id="customAuthenticationProvider" class="com.app.cloud.auth.CustomAuthenticationProvider">
@Component("customAuthenticationProvider")
public class CustomAuthenticationProvider implements org.springframework.security.authentication.AuthenticationProvider {
@Autowired
private AuthService authService;
@Override
public Authentication authenticate(Authentication authentication)
throws AuthenticationException,BadCredentialsException {
//...
}
@Override
public boolean supports(Class<?> authentication) {
return authentication.equals(UsernamePasswordAuthenticationToken.class);
}
}
Run Code Online (Sandbox Code Playgroud) 您能说出ace_order
表中的列是什么意思acl_entry
吗?我知道对于同一acl_object_identity
列它必须是唯一的,但我不知道本专栏的含义。
我想序列化特定方法的输出(方法名称不以get
前缀开头)。
class MyClass {
// private fields with getters & setters
public String customMethod() {
return "some specific output";
}
}
Run Code Online (Sandbox Code Playgroud)
JSON 示例
{
"fields-from-getter-methods": "values",
"customMethod": "customMethod"
}
Run Code Online (Sandbox Code Playgroud)
输出customMethod()
未序列化为 JSON 字段。如何在customMethod()
不添加 get
前缀的情况下实现输出的序列化?
我在我的应用程序中使用ScrollView类.我从指南针在画布上绘制一些数据,这些数据会定期通过用户的交互进行更新.
如何在显示器上无需用户触摸的情况下定期调用onDraw方法?我可以定期刷新画布的内容,而无需其他线程和调用view.postInvalidate()
吗?