我是Spring Boot的新手,我的EclipseIDE中有Spring启动代码示例。
现在来运行这个项目。在项目中有一个“应用程序”类,我使用作为Java应用程序运行,然后它在给定的端口上运行。
但我希望它使用Eclipse的RunonServer选项运行,所以每当我尝试在服务器上运行它时,它都会给我404。
请给我任何想法来解决这个问题。
代码:
@ComponentScan
@Configuration
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
System.out.println(Arrays.toString(beanNames));
}
}
应用程序.属性
server.address=localhost
server.port=8080
server.contextPath=/spring-security-cas
app.service.security=http://localhost:8080/j_spring_cas_security_check
app.service.home=http://localhost:8080/
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>org.esco.demo</groupId>
<artifactId>spring-security-cas</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>demo-spring-security-cas</name>
<description>Demo project for Spring Boot</description>
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>1.2.1.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-cas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
</dependency>
<!-- Usefull for accessing to jsp -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- END Usefull for accessing to jsp -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.14.8</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>org.esco.demo.ssc.Application</start-class>
<java.version>1.7</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
注意:当以Java应用程序的形式运行应用程序时,项目正在运行,问题是我希望它使用服务器上运行选项运行。
你是说eclipse上的tomcat实例吗?日志在说什么?没有部署应用程序?
那么你需要对tomcat发动一场战争-
http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file
改变-
<packaging>jar</packaging>
到
<packaging>war</packaging>
它应该有效。
如果要将其部署到容器中,而不是使用嵌入式容器,请遵循《参考指南》中的这一节。
简言之,步骤如下:
战争
包装代替罐装
包装 的应用程序
类扩展 SpringBootServletInitializer
并实现 configure
方法。 提供
所以简单来说
>
public class Application extends SpringBootServletInitializer {
...
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
将tomcat依赖项添加为提供的
。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifcatId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
有关详细信息,请参阅参考指南。
我的机器上有Java8(JDK和JRE8)。我有日食火星4.5.1。我试图创建一个简单的静态Web项目,在HTTP Preview上运行该项目(或者在Apache Tomcat上运行动态Web项目)时,出现以下错误。(另见所附截图) 线程“main”java.lang.unsupportedClassVersionError:org/eclipse/jetty/server/handler:不支持
上周,我们的团队决定从Netbean迁移到Eclipse,因为我们开发了一些只能在Eclipse上运行的新插件。 首先,项目开始使用来自pom的my maven插件
如何将LocalHostLaravel项目放在GoDaddy服务器上 我有一个PHP7项目,MySQL在我的“localhost/laravel/public”路径上运行良好。 现在我想把这个工作项目在GoDa服务器上使用FileZilla。如何和在哪里我应该把哪些文件,以便它应该像我的localhost?一样运行 我的其他普通PHP编码文件(例如.PHP)已经在GoDaddy服务器上运行良好。但
问题内容: 有没有人在PyCharm Community Edition中为Django项目设置调试配置时遇到问题?IDE的Community Edition在项目设置中缺少项目类型选项,然后在我设置Debug或Run config时,它要求我提供应该运行的脚本。对于Django,manage.py是什么脚本?提前致谢 问题答案: 是的你可以。 在运行->编辑配置中创建新配置 [+] / Pyth
我让AWS使用这个AMI-80347097从Realm网站运行AMI服务的实例。所以我现在有了EC2实例,但我不知道下一步该做什么。对不起,我对这类事情一无所知。 AWS实例的服务器URL是什么?对象服务器的管理员访问令牌是否仍然相同?或者我必须在EC2实例中做一些特定的事情?TT. TT 编辑:好的,我让对象仪表板实际工作,我可以登录。非常感谢你在这方面帮助我。我的最后一步实际上是连接到对象服务
我在eclipse中创建了一个新服务器,但后来由于某种原因删除了它,现在我无法创建一个新服务器。我得到了Apache Tomcat7,但是当我从列表中选择Tomcat v7服务器时,服务器名称字段是不可编辑的,而且按钮也不工作(完成,下一步)。