Add CLASSPATH elements back to spring CLI script
Also add @WebConfiguration as a shortcut for groovy scripts to get MVC behaviour (without a @Controller) [#54926366]
This commit is contained in:
parent
8e347cddff
commit
0d583deb27
|
@ -16,12 +16,15 @@
|
|||
|
||||
package org.springframework.boot.autoconfigure.web;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
import javax.servlet.Servlet;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.beans.factory.BeanFactory;
|
||||
import org.springframework.beans.factory.ListableBeanFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -99,6 +102,8 @@ public class WebMvcAutoConfiguration {
|
|||
@EnableWebMvc
|
||||
public static class WebMvcAutoConfigurationAdapter extends WebMvcConfigurerAdapter {
|
||||
|
||||
private static Log logger = LogFactory.getLog(WebMvcConfigurerAdapter.class);
|
||||
|
||||
@Autowired
|
||||
private ListableBeanFactory beanFactory;
|
||||
|
||||
|
@ -162,6 +167,12 @@ public class WebMvcAutoConfiguration {
|
|||
private void addStaticIndexHtmlViewControllers(ViewControllerRegistry registry) {
|
||||
for (String resource : STATIC_INDEX_HTML_RESOURCES) {
|
||||
if (this.resourceLoader.getResource(resource).exists()) {
|
||||
try {
|
||||
logger.info("Adding welcome page: "
|
||||
+ this.resourceLoader.getResource(resource).getURL());
|
||||
}
|
||||
catch (IOException e) {
|
||||
}
|
||||
registry.addViewController("/").setViewName("/index.html");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -79,7 +79,13 @@ if [ ! -d "${SPRING_HOME}" ]; then
|
|||
exit 2
|
||||
fi
|
||||
|
||||
CLASSPATH="${SPRING_HOME}/lib/*"
|
||||
CLASSPATH=.:${SPRING_HOME}/bin
|
||||
if [ -d ${SPRING_HOME}/ext ]; then
|
||||
CLASSPATH=$CLASSPATH:${SPRING_HOME}/ext
|
||||
fi
|
||||
for f in ${SPRING_HOME}/lib/*; do
|
||||
CLASSPATH=$CLASSPATH:$f
|
||||
done
|
||||
|
||||
if $cygwin; then
|
||||
SPRING_HOME=`cygpath --path --mixed "$SPRING_HOME"`
|
||||
|
|
|
@ -16,6 +16,12 @@
|
|||
|
||||
package org.springframework.boot.cli.compiler.autoconfigure;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import org.codehaus.groovy.ast.ClassNode;
|
||||
import org.codehaus.groovy.control.customizers.ImportCustomizer;
|
||||
import org.springframework.boot.cli.compiler.AstUtils;
|
||||
|
@ -47,7 +53,8 @@ public class SpringMvcCompilerAutoConfiguration extends CompilerAutoConfiguratio
|
|||
|
||||
@Override
|
||||
public boolean matches(ClassNode classNode) {
|
||||
return AstUtils.hasAtLeastOneAnnotation(classNode, "Controller", "EnableWebMvc");
|
||||
return AstUtils.hasAtLeastOneAnnotation(classNode, "Controller", "EnableWebMvc",
|
||||
"WebConfiguration");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -58,6 +65,13 @@ public class SpringMvcCompilerAutoConfiguration extends CompilerAutoConfiguratio
|
|||
"org.springframework.web.servlet.handler", "org.springframework.http");
|
||||
imports.addStaticImport("org.springframework.boot.cli.template.GroovyTemplate",
|
||||
"template");
|
||||
imports.addImports(WebConfiguration.class.getCanonicalName());
|
||||
}
|
||||
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@Documented
|
||||
public static @interface WebConfiguration {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue