我有已部署的war文件,但在部署资源和链接后无效。
<build>
<finalName>KFA</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
当我构建应用程序时,我得到kfa.war,我将其部署到tomcat 但不幸的是我无法访问任何页面,我获得http状态404 - / KFA /学员。样本控制器
@Controller
@RequestMapping("/kfa/trainee")
public class TraineeController {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
TraineeService traineeService;
RegService regService;
@Autowired
public void setTraineeService(TraineeService traineeService) {
this.traineeService = traineeService;
}
@Autowired
public void setRegService(RegService regService) {
this.regService = regService;
}
@RequestMapping(method = RequestMethod.GET)
public ModelAndView addMember(ModelMap model){
model.addAttribute("module", "kfa/trainee");
model.addAttribute("submodule", "add_trainee");
model.addAttribute("title", "Trainee");
model.addAttribute("subtitle", "Add");
model.addAttribute("trainee", new Trainee());
return new ModelAndView("/kfa/index", model);
}
}
当我在intellij想法中运行和部署时,我发现一切正常。我的问题是我应该如何配置上面粘贴的构建,以允许我在另一台机器上的tomcat上运行war文件。
如果不了解,您可以要求提供更多信息。我很乐意为你提供帮助。
答案 0 :(得分:0)
如果在tomcat容器中部署名为kfa.war的war文件,如果在部署时不提供任何其他信息,tomcat将采用上下文路径/ kfa。
尝试访问/ kfa / kfa / trainee。
但是查看tomcat的日志文件应该会有所帮助!您可以安装tomcat的管理器war(https://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html)以获取有关容器中已安装的WAR的信息,转到/ manager / html。
答案 1 :(得分:0)
通过解压缩验证您的战争是否具有应该具有的所有内容。
如果它没有所需的内容,请确保您的项目使用正确的maven目录结构https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html。
如果不是,您可能需要相应地重组项目,一切都应按预期工作