Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <properties>
- <jdk.version>1.8</jdk.version>
- <spring.version>4.2.4.RELEASE</spring.version>
- <spring.security.version>3.2.9.RELEASE</spring.security.version>
- <jstl.version>1.2</jstl.version>
- <mysql.connector.version>5.1.38</mysql.connector.version>
- <logback.version>1.1.2</logback.version>
- <slf4j.version>1.7.6</slf4j.version>
- <hibernate.version>4.2.11.Final</hibernate.version>
- <dbcp.version>1.4</dbcp.version>
- </properties>
- [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]
- 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)
- at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
- at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
- at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
- at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
- at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
- at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
- at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
- at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
- at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
- at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
- at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
- at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:497)
- at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
- at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
- at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
- at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
- 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)
- at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:193)
- at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
- at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
- ... 19 more
- Caused by: org.codehaus.plexus.archiver.ArchiverException: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
- at org.codehaus.plexus.archiver.war.WarArchiver.initZipOutputStream(WarArchiver.java:148)
- at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:309)
- at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.execute(AbstractZipArchiver.java:211)
- at org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:897)
- at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:582)
- at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:243)
- at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:177)
- ... 21 more
- [ERROR]
- [ERROR]
- [ERROR] For more information about the errors and possible solutions, please read the following articles:
- [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
- @Configuration
- @EnableWebSecurity
- public class SecurityConfig extends WebSecurityConfigurerAdapter {
- @Autowired
- @Qualifier("userDetailsService")
- private UserDetailsService userDetailsService;
- @Autowired
- public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
- auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
- }
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http.authorizeRequests().antMatchers("/admin/**")
- .access("hasRole('ROLE_ADMIN')").and().formLogin()
- .loginPage("/login").failureUrl("/login?error")
- .usernameParameter("username")
- .passwordParameter("password")
- .and().logout().logoutSuccessUrl("/login?logout")
- .and().csrf()
- .and().exceptionHandling().accessDeniedPage("/403");
- }
- @Bean
- public PasswordEncoder passwordEncoder(){
- PasswordEncoder encoder = new BCryptPasswordEncoder();
- return encoder;
- }
- }
- @EnableWebMvc
- @Configuration
- @ComponentScan({ "com.mkyong.*" })
- @EnableTransactionManagement
- @Import({ SecurityConfig.class })
- public class AppConfig {
- @Bean
- public SessionFactory sessionFactory() {
- LocalSessionFactoryBuilder builder = new LocalSessionFactoryBuilder(dataSource());
- builder
- .scanPackages("com.mkyong.users.model")
- .addProperties(getHibernateProperties());
- return builder.buildSessionFactory();
- }
- private Properties getHibernateProperties() {
- Properties prop = new Properties();
- prop.put("hibernate.format_sql", "true");
- prop.put("hibernate.show_sql", "true");
- prop.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
- return prop;
- }
- @Bean(name = "dataSource")
- public BasicDataSource dataSource() {
- BasicDataSource ds = new BasicDataSource();
- ds.setDriverClassName("com.mysql.jdbc.Driver");
- ds.setUrl("jdbc:mysql://localhost:3306/test");
- ds.setUsername("root");
- ds.setPassword("root");
- return ds;
- }
- @Bean
- public HibernateTransactionManager txManager() {
- return new HibernateTransactionManager(sessionFactory());
- }
- @Bean
- public InternalResourceViewResolver viewResolver() {
- InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
- viewResolver.setViewClass(JstlView.class);
- viewResolver.setPrefix("/WEB-INF/pages/");
- viewResolver.setSuffix(".jsp");
- return viewResolver;
- }
- }
- public interface UserDao {
- User findByUserName(String username);
- }
- public class SpringMvcInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
- @Override
- protected Class<?>[] getRootConfigClasses() {
- return new Class[] { AppConfig.class };
- }
- @Override
- protected Class<?>[] getServletConfigClasses() {
- return null;
- }
- @Override
- protected String[] getServletMappings() {
- return new String[] { "/" };
- }
- }
- public class SpringSecurityInitializer extends AbstractSecurityWebApplicationInitializer {
- }
- @Repository
- public class UserDaoImpl implements UserDao {
- @Autowired
- private SessionFactory sessionFactory;
- @SuppressWarnings("unchecked")
- public User findByUserName(String username) {
- List<User> users = new ArrayList<User>();
- users = sessionFactory.getCurrentSession()
- .createQuery("from User where username=?")
- .setParameter(0, username).list();
- if (users.size() > 0) {
- return users.get(0);
- } else {
- return null;
- }
- }
- }
- <build>
- <finalName>SpringSecurity</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
- <configuration>
- <source>${jdk.version}</source>
- <target>${jdk.version}</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.9</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>false</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- </configuration>
- </plugin>
- </plugins>
- </build>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement