Maison > Questions et réponses > le corps du texte
Il existe deux packages jar commons-fileupload-1.3.2.jar et commons-io-2.5.jar
J'ai initialement placé ces deux packages à l'extérieur comme les autres packages, c'est-à-dire les bibliothèques externes
Écrivez les classes pertinentes Après cela, configurez le servlet et cartographie dans web.xml
<servlet>
<servlet-name>mytest</servlet-name>
<servlet-class>servlet.FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mytest</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
Ensuite, Tomcat ne démarre pas, message :
Critique : ContainerBase.addChild : démarrage :
org.apache.catalina.LifecycleException : échec du démarrage du composant
java.lang.NoClassDefFoundError : org/apache/commons/fileupload/FileUploadException
Question :
Les deux jars commons-fileupload et commons-io doivent-ils être placés sous WEB-INF Pourquoi ?
Pourquoi ne peut-il pas être placé dans des bibliothèques externes ? Tous mes autres packages peuvent être utilisés en externe. Pourquoi ces deux-là ne sont-ils pas accessibles ?
J'ai créé une nouvelle bibliothèque sous WEB-INF, puis j'y ai mis ces deux packages. Elle était là lorsque je l'ai publiée, puis elle a fonctionné normalement Quelle est la particularité de ces deux packages ? Pourquoi devez-vous mettre WEB-INF en dessous
某草草2017-05-17 10:00:05
L'application de publication de plug-ins Tomcat d'idea est cet artefact
, mettez ce dossier comme bibliothèque jar dans les bibliothèques externes) web/WEB-INF/lib
下放入jar包会自动加到Artifact里面。这就是为什么你说的为什么放到WEB-INF才行的原因。当然你完全可以把依赖jar包还放在External Libraries,在Artifact这里添加上就行,不过还是推荐把依赖的jar包放在项目web/WEB-INF/lib
怪我咯2017-05-17 10:00:05
Tout d'abord, permettez-moi de vous corriger. Il s'agit du répertoire WEB-INF
, pas WEB-INFI. WEB-INF
目录,不是WEB-INFI。
发布之前,你是用maven对项目打包的吗?如果maven中有commons-fileupload
的依赖,打包时会放在WEB-INF/lib
commons-fileupload
dans maven, elle sera placée sous WEB-INF/lib
lors de l'empaquetage. 🎜PHPz2017-05-17 10:00:05
Le package jar placé dans WEB-INF/lib, même s'il n'est pas introduit en tant que dépendance, sera inclus par défaut dans le package war final lors du packaging (l'emplacement est toujours WEB-INF/lib). Quant au package jar qui ne se trouve pas sous WEB-INF/lib, il doit être introduit en tant que dépendance avant que le package war final ne soit saisi lors du package (il sera toujours situé dans WEB-INF/lib). Pour la méthode d'introduction de la dépendance, merci de vous référer à la réponse au 3ème étage
我想大声告诉你2017-05-17 10:00:05
J'ai également rencontré ce problème. J'ai constaté que le Jar d'importation n'était pas ajouté à WEB-INF/lib lors de sa sortie. Je ne pouvais vraiment pas voir le Jar correspondant dans le répertoire Tomcat, je l'ai donc copié et collé à chaque fois. après l'importation Sous WEB-INF/lib, parfois même coller directement dans les Bibliothèques Référencées et WEB-INF/lib sans importer.