On 10/10/2011 11:13 AM, Krauß, Ralf wrote:
Hi,

I started building a custom portal from the archetype.  Basic setup is OK, the 
portal and the portlet app are correctly deployed to tomcat using target 'all'.
For subsequent changes, I only used the 'deploy-portal' and 'deploy-pa' targets.
Now I've tried to configure NTLM authentication for the portal by overriding 
web.xml and the security valve bean in the *-portal module:
*-portal directory layout:
+ src
   -+main
     -+webapp
       -+WEB-INF
         - web.xml (with the NTLM filter)
        -+ assembly
          -+ override
           - security-valve-override.xml

Everything was deployed just fine and working  using the 'deploy-portal' target.
Then I somehow corrupted the user database and had to start with a clean 
database using the 'all' target.

But the 'all' target fails with the appended error stacktrace. A workaround is 
to temporarily rename the 'assembly' directory, run the 'all' target and 
afterwards do an additional 'deploy-portal'.
Am I missing something or is this a problem with the db-maven-plugin?

I expect you've not specified the j2:cat meta property for the NtlmSecurityValve bean configuration in your security-valve-override.xml.

Please compare with the SecurityValveImpl bean definition you've overridden and follow its example. Taking a default (example) NTLMSecurityValve bean definition you might need something like:

  <bean id="securityValve"
        class="org.apache.jetspeed.security.impl.ntlm.NtlmSecurityValve"
        init-method="initialize">
    <meta key="j2:cat" value="default"/>
    <constructor-arg>
      <ref bean="org.apache.jetspeed.security.UserManager" />
    </constructor-arg>
    <constructor-arg><value>SOME_DOMAIN</value></constructor-arg>
    <constructor-arg><value>true</value></constructor-arg>
    <constructor-arg><value>false</value></constructor-arg>
</bean>

The j2:cat meta property is used as a Spring filter value to include/exclude sets of bean definitions depending on your configuration. The jetspeed db-maven-plugin is using this by explicitly using/setting spring filter key "serializer" and thereby restrict the set of beans loaded by Spring for this commandline operation. If you don't specify a j2:cat meta property for a bean, it will be always included. But in this case, that doesn't make sense as the JetspeedSerializer doesn't need the NTLMSecuriyValve for its operation, nor does it have it available on the classpath. Hence causing Spring to fail loading this bean.

For more information, see:
  http://portals.apache.org/jetspeed-2/devguide/spring-config.html

HTH,

Ate


Regards
   Ralf



[ERROR] Failed to execute goal 
org.apache.portals.jetspeed-2:jetspeed-db-maven-plugin:2.2.2-SNAPSHOT:init (seed) on 
project jetspeed-mvn-portal-pom: Serializer error: Unexpected error during import: 
Cannot find class [org.apache.jetspeed.security.impl.ntlm.NtlmSecurityValve] for bean 
with name 'securityValve' defined in file 
[<...>\WEB-INF\assembly\override\security-valve-override.xml]; nested exception is 
java.lang.ClassNotFoundException: 
org.apache.jetspeed.security.impl.ntlm.NtlmSecurityValve ->  [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.portals.jetspeed-2:jetspeed-db-maven-plugin:2.2.2-SNAPSHOT:init 
(seed) on project jetspeed-mvn-portal-pom: Serializer error:
         at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
         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:84)
         at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
         at 
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
         at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
         at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
         at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
         at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
         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.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)







---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to