我正在使用Maven作为我的依赖管理器在IntelliJ中使用基于Compojure的Clojure Web应用程序.它基于我在此示例引用的此git存储库中找到的应用程序.当我尝试使用IntelliJ的Tomcat6配置运行应用程序时,每次引用Servlet异常时都会失败:
javax.servlet.ServletException: Wrapper cannot find servlet class tracker.core or a class it depends on
Run Code Online (Sandbox Code Playgroud)
另外,查看web.xml,IntelliJ无法识别servlet类(tracker.core突出显示).
这个应用程序最初是作为客户的概念证明而构建的,由我最近离开公司的同事编写.在过去的两天里,除了在这个项目上工作之外,我个人对clojure没有任何经验.使用Leiningen环服务器,我可以成功地让应用程序在jetty中运行.使用leiningen ring uberwar,由此产生的战争成功地部署并运行在tomcat中.
原始文件结构如下所示:
/tracker-webapp
/classes
/lib
/resources
/src
/tracker
/core.clj (and other *.clj files)
/test
project.clj
Run Code Online (Sandbox Code Playgroud)
新的mavenized文件结构现在反映了前面提到的git repo中的示例:
/tracker-webapp
/src
/main
/clojure
/tracker
/core.clj (and other *.clj files)
/webapp
/WEB-INF
/web.xml
/pom.xml
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Simple Clojure WebApp</display-name>
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>tracker.core</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/*</url-pattern> …Run Code Online (Sandbox Code Playgroud) 问题
诸如按钮之类的块内容会导致我的flex项展开并溢出flexbox容器。
预期行为
在此示例中,按钮应并排放置,并且按钮文本溢出用省略号隐藏。伸缩项目的宽度应基于同级而不是内容,并且应在容器内部保持响应状态,以适应容器更改宽度和添加或删除伸缩项目的情况。另一个需要注意的是,我无法针对我的特定情况在flex项目或按钮parent div上使用overflow:hidden。
这是提琴手。
HTML示例
<div class="container" style="width: 400px;">
<div class="child one">
Child One
<br>Lorem ipsum
<br>dolor sit amet
</div>
<div class="child two"><div><button class="text">Child Two with a loooooooooooooooooong naaaaaaaaaaaaaaaaaaaaaaaaaaaaaame</button><button>button two</button></div></div>
<div class="child three">Some Text</div></div>
Run Code Online (Sandbox Code Playgroud)
CSS示例
div {
border: 3px solid;
}
.container {
padding: 10px;
background-color: yellow;
display: -webkit-flex;
display: flex;
}
.child {
flex: 1 1 auto;
padding: 10px;
margin: 10px;
background-color: #eee;
}
.child.one {
color: green;
}
.child.two {
flex: 6 1 auto; …Run Code Online (Sandbox Code Playgroud)