Advertisement
Guest User

Untitled

a guest
Apr 19th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.80 KB | None | 0 0
  1. <properties>
  2. <jdk.version>1.8</jdk.version>
  3. <spring.version>4.2.4.RELEASE</spring.version>
  4. <spring.security.version>3.2.9.RELEASE</spring.security.version>
  5. <jstl.version>1.2</jstl.version>
  6. <mysql.connector.version>5.1.38</mysql.connector.version>
  7. <logback.version>1.1.2</logback.version>
  8. <slf4j.version>1.7.6</slf4j.version>
  9. <hibernate.version>4.2.11.Final</hibernate.version>
  10. <dbcp.version>1.4</dbcp.version>
  11. </properties>
  12.  
  13. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project spring-security-hibernate-annotation: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
  14. org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project spring-security-hibernate-annotation: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
  15. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
  16. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
  17. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
  18. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
  19. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
  20. at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
  21. at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
  22. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
  23. at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
  24. at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
  25. at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
  26. at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
  27. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  28. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  29. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  30. at java.lang.reflect.Method.invoke(Method.java:497)
  31. at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
  32. at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
  33. at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
  34. at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  35. Caused by: org.apache.maven.plugin.MojoExecutionException: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
  36. at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:193)
  37. at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
  38. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
  39. ... 19 more
  40. Caused by: org.codehaus.plexus.archiver.ArchiverException: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
  41. at org.codehaus.plexus.archiver.war.WarArchiver.initZipOutputStream(WarArchiver.java:148)
  42. at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:309)
  43. at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.execute(AbstractZipArchiver.java:211)
  44. at org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:897)
  45. at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:582)
  46. at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:243)
  47. at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:177)
  48. ... 21 more
  49. [ERROR]
  50. [ERROR]
  51. [ERROR] For more information about the errors and possible solutions, please read the following articles:
  52. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
  53.  
  54. @Configuration
  55. @EnableWebSecurity
  56. public class SecurityConfig extends WebSecurityConfigurerAdapter {
  57.  
  58. @Autowired
  59. @Qualifier("userDetailsService")
  60. private UserDetailsService userDetailsService;
  61.  
  62. @Autowired
  63. public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
  64. auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
  65. }
  66.  
  67. @Override
  68. protected void configure(HttpSecurity http) throws Exception {
  69.  
  70. http.authorizeRequests().antMatchers("/admin/**")
  71. .access("hasRole('ROLE_ADMIN')").and().formLogin()
  72. .loginPage("/login").failureUrl("/login?error")
  73. .usernameParameter("username")
  74. .passwordParameter("password")
  75. .and().logout().logoutSuccessUrl("/login?logout")
  76. .and().csrf()
  77. .and().exceptionHandling().accessDeniedPage("/403");
  78. }
  79.  
  80. @Bean
  81. public PasswordEncoder passwordEncoder(){
  82. PasswordEncoder encoder = new BCryptPasswordEncoder();
  83. return encoder;
  84. }
  85. }
  86.  
  87. @EnableWebMvc
  88. @Configuration
  89. @ComponentScan({ "com.mkyong.*" })
  90. @EnableTransactionManagement
  91. @Import({ SecurityConfig.class })
  92. public class AppConfig {
  93.  
  94. @Bean
  95. public SessionFactory sessionFactory() {
  96. LocalSessionFactoryBuilder builder = new LocalSessionFactoryBuilder(dataSource());
  97. builder
  98. .scanPackages("com.mkyong.users.model")
  99. .addProperties(getHibernateProperties());
  100.  
  101. return builder.buildSessionFactory();
  102. }
  103.  
  104. private Properties getHibernateProperties() {
  105. Properties prop = new Properties();
  106. prop.put("hibernate.format_sql", "true");
  107. prop.put("hibernate.show_sql", "true");
  108. prop.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
  109. return prop;
  110. }
  111.  
  112. @Bean(name = "dataSource")
  113. public BasicDataSource dataSource() {
  114. BasicDataSource ds = new BasicDataSource();
  115. ds.setDriverClassName("com.mysql.jdbc.Driver");
  116. ds.setUrl("jdbc:mysql://localhost:3306/test");
  117. ds.setUsername("root");
  118. ds.setPassword("root");
  119.  
  120. return ds;
  121. }
  122.  
  123. @Bean
  124. public HibernateTransactionManager txManager() {
  125. return new HibernateTransactionManager(sessionFactory());
  126. }
  127.  
  128. @Bean
  129. public InternalResourceViewResolver viewResolver() {
  130. InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
  131. viewResolver.setViewClass(JstlView.class);
  132. viewResolver.setPrefix("/WEB-INF/pages/");
  133. viewResolver.setSuffix(".jsp");
  134.  
  135. return viewResolver;
  136. }
  137. }
  138.  
  139. public interface UserDao {
  140. User findByUserName(String username);
  141. }
  142.  
  143. public class SpringMvcInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
  144.  
  145. @Override
  146. protected Class<?>[] getRootConfigClasses() {
  147. return new Class[] { AppConfig.class };
  148. }
  149.  
  150. @Override
  151. protected Class<?>[] getServletConfigClasses() {
  152. return null;
  153. }
  154.  
  155. @Override
  156. protected String[] getServletMappings() {
  157. return new String[] { "/" };
  158. }
  159. }
  160.  
  161. public class SpringSecurityInitializer extends AbstractSecurityWebApplicationInitializer {
  162.  
  163. }
  164.  
  165. @Repository
  166. public class UserDaoImpl implements UserDao {
  167.  
  168. @Autowired
  169. private SessionFactory sessionFactory;
  170.  
  171. @SuppressWarnings("unchecked")
  172. public User findByUserName(String username) {
  173.  
  174. List<User> users = new ArrayList<User>();
  175.  
  176. users = sessionFactory.getCurrentSession()
  177. .createQuery("from User where username=?")
  178. .setParameter(0, username).list();
  179.  
  180. if (users.size() > 0) {
  181. return users.get(0);
  182. } else {
  183. return null;
  184. }
  185. }
  186. }
  187.  
  188. <build>
  189. <finalName>SpringSecurity</finalName>
  190. <plugins>
  191.  
  192. <plugin>
  193. <groupId>org.apache.maven.plugins</groupId>
  194. <artifactId>maven-compiler-plugin</artifactId>
  195. <version>2.3.2</version>
  196. <configuration>
  197. <source>${jdk.version}</source>
  198. <target>${jdk.version}</target>
  199. </configuration>
  200. </plugin>
  201.  
  202. <plugin>
  203. <groupId>org.apache.maven.plugins</groupId>
  204. <artifactId>maven-eclipse-plugin</artifactId>
  205. <version>2.9</version>
  206. <configuration>
  207. <downloadSources>true</downloadSources>
  208. <downloadJavadocs>false</downloadJavadocs>
  209. <wtpversion>2.0</wtpversion>
  210. </configuration>
  211. </plugin>
  212. </plugins>
  213. </build>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement