小编Mpl*_*igo的帖子

IntelliJ + Maven + Tomcat中的Clojure Webapp

我正在使用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)

我的web.xml:

<?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)

tomcat clojure intellij-idea compojure maven

17
推荐指数
1
解决办法
935
查看次数

包含块内容的Flexbox项目会在Flexbox容器中溢出

问题

诸如按钮之类的块内容会导致我的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)

html css overflow flexbox

5
推荐指数
1
解决办法
2599
查看次数

标签 统计

clojure ×1

compojure ×1

css ×1

flexbox ×1

html ×1

intellij-idea ×1

maven ×1

overflow ×1

tomcat ×1