0

我是 maven 新手,正在尝试创建一个使用 [Subetha SMTP 库][1] 的应用程序,并将整个应用程序打包到一个可执行应用程序中。

为了进行打包,我尝试使用 [Mavens Shade 插件][2],但遇到了 Subetha SMTP 正在使用/包含的库之一的问题。

该项目似乎构建良好:

[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ smtpServer ---
[INFO] Building jar: D:\dev\apps\smtpServer\target\smtpServer-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-shade-plugin:1.7:shade (default) @ smtpServer ---
[INFO] Including org.subethamail:subethasmtp:jar:3.1.6 in the shaded jar.
[INFO] Including javax.mail:mail:jar:1.4.4 in the shaded jar.
[INFO] Including javax.activation:activation:jar:1.1.1 in the shaded jar.
[INFO] Including com.google.code.findbugs:jsr305:jar:1.3.9 in the shaded jar.
[INFO] Including org.slf4j:slf4j-api:jar:1.5.6 in the shaded jar.
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing D:\dev\apps\smtpServer\target\smtpServer-1.0-SNAPSHOT.jar with D:\dev\apps\smtpServer\target\smtpServer-1.0-SNAPSHOT-shaded.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.959s
[INFO] Finished at: Mon Jun 04 15:11:28 EDT 2012
[INFO] Final Memory: 10M/24M
[INFO] ------------------------------------------------------------------------
D:\dev\apps\smtpServer>

但是当我运行它时,我得到:

D:\dev\apps\smtpServer\target>java -jar smtpServer-1.0-SNAPSHOT.jar
Starting Up...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
        at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:189)
        at org.slf4j.LoggerFactory.bind(LoggerFactory.java:112)
        at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:105)
        at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:235)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:208)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:221)
        at org.subethamail.smtp.server.SMTPServer.<clinit>(SMTPServer.java:49)
        at com.rim.hms.smtpServer.App.main(App.java:13)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 8 more

错误消息指示我将 SL4J jar 放在我尝试过的类路径上,但问题没有解决。

这是我的项目的 pom.xml (我已经尝试指定 slf4j,这是导致问题的一个,以及删除它):

<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/maven-v4_0_0.xsd">
  <parent>
        <groupId>com.foo.bar.apps</groupId>
        <artifactId>apps</artifactId>
        <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.foo.bar.apps.smtpServer</groupId>
  <artifactId>smtpServer</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>smtpServer</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.subethamail</groupId>
        <artifactId>subethasmtp</artifactId>
        <version>3.1.6</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.5.6</version>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>com.foo.bar.smtpServer.App</mainClass>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>


</project>

以下是创建的 JAR 文件的内容:

META-INF/MANIFEST.MF
META-INF/
com/
com/foo/
com/foo/bar/
com/foo/bar/smtpServer/
com/foo/bar/smtpServer/App.class
com/foo/bar/smtpServer/DumbMessageHandlerFactory$Handler.class
com/foo/bar/smtpServer/DumbMessageHandlerFactory.class
META-INF/maven/
META-INF/maven/com.foo.bar.apps.smtpServer/
META-INF/maven/com.foo.bar.apps.smtpServer/smtpServer/
META-INF/maven/com.foo.bar.apps.smtpServer/smtpServer/pom.xml
META-INF/maven/com.foo.bar.apps.smtpServer/smtpServer/pom.properties
org/
org/subethamail/
org/subethamail/smtp/
org/subethamail/smtp/auth/
org/subethamail/smtp/auth/EasyAuthenticationHandlerFactory.class
org/subethamail/smtp/auth/LoginAuthenticationHandlerFactory$Handler.class
org/subethamail/smtp/auth/LoginAuthenticationHandlerFactory.class
org/subethamail/smtp/auth/LoginFailedException.class
org/subethamail/smtp/auth/MultipleAuthenticationHandlerFactory$Handler.class
org/subethamail/smtp/auth/MultipleAuthenticationHandlerFactory.class
org/subethamail/smtp/auth/PlainAuthenticationHandlerFactory$Handler.class
org/subethamail/smtp/auth/PlainAuthenticationHandlerFactory.class
org/subethamail/smtp/auth/UsernamePasswordValidator.class
org/subethamail/smtp/AuthenticationHandler.class
org/subethamail/smtp/AuthenticationHandlerFactory.class
org/subethamail/smtp/client/
org/subethamail/smtp/client/SmartClient.class
org/subethamail/smtp/client/SMTPClient$Response.class
org/subethamail/smtp/client/SMTPClient.class
org/subethamail/smtp/client/SMTPException.class
org/subethamail/smtp/command/
org/subethamail/smtp/command/AuthCommand.class
org/subethamail/smtp/command/DataCommand.class
org/subethamail/smtp/command/EhloCommand.class
org/subethamail/smtp/command/HelloCommand.class
org/subethamail/smtp/command/HelpCommand.class
org/subethamail/smtp/command/MailCommand.class
org/subethamail/smtp/command/NoopCommand.class
org/subethamail/smtp/command/QuitCommand.class
org/subethamail/smtp/command/ReceiptCommand.class
org/subethamail/smtp/command/ResetCommand.class
org/subethamail/smtp/command/StartTLSCommand.class
org/subethamail/smtp/command/VerifyCommand.class
org/subethamail/smtp/DropConnectionException.class
org/subethamail/smtp/helper/
org/subethamail/smtp/helper/SimpleMessageListener.class
org/subethamail/smtp/helper/SimpleMessageListenerAdapter$Delivery.class
org/subethamail/smtp/helper/SimpleMessageListenerAdapter$Handler.class
org/subethamail/smtp/helper/SimpleMessageListenerAdapter.class
org/subethamail/smtp/helper/SmarterMessageListener$Receiver.class
org/subethamail/smtp/helper/SmarterMessageListener.class
org/subethamail/smtp/helper/SmarterMessageListenerAdapter$Handler.class
org/subethamail/smtp/helper/SmarterMessageListenerAdapter.class
org/subethamail/smtp/io/
org/subethamail/smtp/io/BetterByteArrayOutputStream.class
org/subethamail/smtp/io/CRLFOutputStream.class
org/subethamail/smtp/io/CRLFTerminatedReader$MaxLineLengthException.class
org/subethamail/smtp/io/CRLFTerminatedReader$TerminationException.class
org/subethamail/smtp/io/CRLFTerminatedReader.class
org/subethamail/smtp/io/DeferredFileOutputStream.class
org/subethamail/smtp/io/DotTerminatedInputStream.class
org/subethamail/smtp/io/DotTerminatedOutputStream.class
org/subethamail/smtp/io/DotUnstuffingInputStream.class
org/subethamail/smtp/io/ExtraDotOutputStream.class
org/subethamail/smtp/io/ReceivedHeaderStream.class
org/subethamail/smtp/io/ThresholdingOutputStream.class
org/subethamail/smtp/MessageContext.class
org/subethamail/smtp/MessageHandler.class
org/subethamail/smtp/MessageHandlerFactory.class
org/subethamail/smtp/RejectException.class
org/subethamail/smtp/server/
org/subethamail/smtp/server/BaseCommand.class
org/subethamail/smtp/server/Command.class
org/subethamail/smtp/server/CommandException.class
org/subethamail/smtp/server/CommandHandler.class
org/subethamail/smtp/server/CommandRegistry.class
org/subethamail/smtp/server/HelpMessage.class
org/subethamail/smtp/server/InvalidCommandNameException.class
org/subethamail/smtp/server/RequireTLSCommandWrapper.class
org/subethamail/smtp/server/ServerThread.class
org/subethamail/smtp/server/Session.class
org/subethamail/smtp/server/SMTPServer.class
org/subethamail/smtp/server/UnknownCommandException.class
org/subethamail/smtp/TooMuchDataException.class
org/subethamail/smtp/util/
org/subethamail/smtp/util/Base64.class
org/subethamail/smtp/util/EmailUtils.class
org/subethamail/smtp/util/TextUtils.class
org/subethamail/smtp/Version.class
org/subethamail/wiser/
org/subethamail/wiser/Wiser.class
org/subethamail/wiser/WiserMessage.class
META-INF/maven/org.subethamail/
META-INF/maven/org.subethamail/subethasmtp/
META-INF/maven/org.subethamail/subethasmtp/pom.xml
META-INF/maven/org.subethamail/subethasmtp/pom.properties
javax/
javax/mail/
javax/mail/EventQueue$QueueElement.class
javax/mail/Flags$Flag.class
javax/mail/Service$TerminatorEvent.class
javax/mail/Service.class
javax/mail/FolderClosedException.class
javax/mail/Folder$TerminatorEvent.class
javax/mail/MessageContext.class
javax/mail/Session$3.class
javax/mail/FetchProfile.class
javax/mail/Provider.class
javax/mail/UIDFolder$FetchProfileItem.class
javax/mail/internet/
javax/mail/internet/ParseException.class
javax/mail/internet/ParameterList.class
javax/mail/internet/MimeMultipart.class
javax/mail/internet/MailDateParser.class
javax/mail/internet/UniqueValue.class
javax/mail/internet/MailDateFormat.class
javax/mail/internet/InternetAddress.class
javax/mail/internet/ParameterList$Value.class
javax/mail/internet/ParameterList$MultiValue.class
javax/mail/internet/MimeMessage.class
javax/mail/internet/SharedInputStream.class
javax/mail/internet/HeaderTokenizer.class
javax/mail/internet/MimeUtility.class
javax/mail/internet/InternetHeaders$InternetHeader.class
javax/mail/internet/InternetHeaders.class
javax/mail/internet/NewsAddress.class
javax/mail/internet/MimeUtility$1NullInputStream.class
javax/mail/internet/HeaderTokenizer$Token.class
javax/mail/internet/PreencodedMimeBodyPart.class
javax/mail/internet/AsciiOutputStream.class
javax/mail/internet/InternetHeaders$matchEnum.class
javax/mail/internet/ParameterList$ToStringBuffer.class
javax/mail/internet/MimePart.class
javax/mail/internet/MimeBodyPart$MimePartDataHandler.class
javax/mail/internet/MimePartDataSource.class
javax/mail/internet/ParameterList$1.class
javax/mail/internet/MimeMessage$RecipientType.class
javax/mail/internet/ContentType.class
javax/mail/internet/MimeBodyPart.class
javax/mail/internet/AddressException.class
javax/mail/internet/ParameterList$ParamEnum.class
javax/mail/internet/ContentDisposition.class
javax/mail/IllegalWriteException.class
javax/mail/Quota.class
javax/mail/Version.class
javax/mail/Session$2.class
javax/mail/Part.class
javax/mail/BodyPart.class
javax/mail/Message$RecipientType.class
javax/mail/UIDFolder.class
javax/mail/Transport.class
javax/mail/AuthenticationFailedException.class
javax/mail/Quota$Resource.class
javax/mail/Session$1.class
javax/mail/Multipart.class
javax/mail/EventQueue.class
javax/mail/PasswordAuthentication.class
javax/mail/Authenticator.class
javax/mail/ReadOnlyFolderException.class
javax/mail/Folder.class
javax/mail/FetchProfile$Item.class
javax/mail/FolderNotFoundException.class
javax/mail/MessageAware.class
javax/mail/MultipartDataSource.class
javax/mail/event/
javax/mail/event/FolderEvent.class
javax/mail/event/TransportListener.class
javax/mail/event/MessageCountListener.class
javax/mail/event/MailEvent.class
javax/mail/event/MessageChangedEvent.class
javax/mail/event/TransportAdapter.class
javax/mail/event/ConnectionEvent.class
javax/mail/event/MessageCountEvent.class
javax/mail/event/TransportEvent.class
javax/mail/event/FolderListener.class
javax/mail/event/MessageChangedListener.class
javax/mail/event/StoreEvent.class
javax/mail/event/FolderAdapter.class
javax/mail/event/ConnectionAdapter.class
javax/mail/event/ConnectionListener.class
javax/mail/event/StoreListener.class
javax/mail/event/MessageCountAdapter.class
javax/mail/search/
javax/mail/search/NotTerm.class
javax/mail/search/MessageNumberTerm.class
javax/mail/search/HeaderTerm.class
javax/mail/search/ComparisonTerm.class
javax/mail/search/IntegerComparisonTerm.class
javax/mail/search/BodyTerm.class
javax/mail/search/FromTerm.class
javax/mail/search/StringTerm.class
javax/mail/search/SentDateTerm.class
javax/mail/search/RecipientTerm.class
javax/mail/search/AndTerm.class
javax/mail/search/FlagTerm.class
javax/mail/search/MessageIDTerm.class
javax/mail/search/SubjectTerm.class
javax/mail/search/AddressTerm.class
javax/mail/search/SearchException.class
javax/mail/search/OrTerm.class
javax/mail/search/RecipientStringTerm.class
javax/mail/search/ReceivedDateTerm.class
javax/mail/search/FromStringTerm.class
javax/mail/search/DateTerm.class
javax/mail/search/AddressStringTerm.class
javax/mail/search/SearchTerm.class
javax/mail/search/SizeTerm.class
javax/mail/MessageRemovedException.class
javax/mail/Store.class
javax/mail/Session$7.class
javax/mail/NoSuchProviderException.class
javax/mail/URLName.class
javax/mail/StreamLoader.class
javax/mail/Address.class
javax/mail/StoreClosedException.class
javax/mail/MessagingException.class
javax/mail/Session$6.class
javax/mail/Provider$Type.class
javax/mail/Session.class
javax/mail/MethodNotSupportedException.class
javax/mail/Message.class
javax/mail/Session$5.class
javax/mail/QuotaAwareStore.class
javax/mail/Header.class
javax/mail/Session$4.class
javax/mail/util/
javax/mail/util/SharedFileInputStream.class
javax/mail/util/ByteArrayDataSource.class
javax/mail/util/SharedByteArrayInputStream.class
javax/mail/util/ByteArrayDataSource$DSByteArrayOutputStream.class
javax/mail/util/SharedFileInputStream$SharedFile.class
javax/mail/Flags.class
javax/mail/SendFailedException.class
com/sun/
com/sun/mail/
com/sun/mail/smtp/
com/sun/mail/smtp/SMTPTransport.class
com/sun/mail/smtp/SMTPSSLTransport.class
com/sun/mail/smtp/SMTPMessage.class
com/sun/mail/smtp/SMTPAddressSucceededException.class
com/sun/mail/smtp/SMTPTransport$PlainAuthenticator.class
com/sun/mail/smtp/SMTPAddressFailedException.class
com/sun/mail/smtp/SMTPSendFailedException.class
com/sun/mail/smtp/SMTPOutputStream.class
com/sun/mail/smtp/SMTPSenderFailedException.class
com/sun/mail/smtp/SMTPTransport$LoginAuthenticator.class
com/sun/mail/smtp/SMTPSaslAuthenticator.class
com/sun/mail/smtp/SaslAuthenticator.class
com/sun/mail/smtp/SMTPTransport$NtlmAuthenticator.class
com/sun/mail/smtp/SMTPTransport$DigestMD5Authenticator.class
com/sun/mail/smtp/SMTPSaslAuthenticator$1.class
com/sun/mail/smtp/DigestMD5.class
com/sun/mail/smtp/SMTPTransport$Authenticator.class
com/sun/mail/imap/
com/sun/mail/imap/IMAPNestedMessage.class
com/sun/mail/imap/IMAPFolder$10.class
com/sun/mail/imap/Rights$Right.class
com/sun/mail/imap/IMAPMessage$1FetchProfileCondition.class
com/sun/mail/imap/IMAPFolder$2.class
com/sun/mail/imap/MessageLiteral.class
com/sun/mail/imap/IMAPFolder$11.class
com/sun/mail/imap/IMAPFolder$3.class
com/sun/mail/imap/DefaultFolder$2.class
com/sun/mail/imap/IMAPInputStream.class
com/sun/mail/imap/IMAPFolder$ProtocolCommand.class
com/sun/mail/imap/IMAPStore$1.class
com/sun/mail/imap/ACL.class
com/sun/mail/imap/IMAPFolder$12.class
com/sun/mail/imap/DefaultFolder$1.class
com/sun/mail/imap/IMAPFolder.class
com/sun/mail/imap/IMAPFolder$13.class
com/sun/mail/imap/IMAPStore$ConnectionPool.class
com/sun/mail/imap/IMAPBodyPart.class
com/sun/mail/imap/IMAPFolder$1.class
com/sun/mail/imap/IMAPFolder$18.class
com/sun/mail/imap/LengthCounter.class
com/sun/mail/imap/MessageCache.class
com/sun/mail/imap/IMAPFolder$14.class
com/sun/mail/imap/IMAPStore.class
com/sun/mail/imap/IMAPMultipartDataSource.class
com/sun/mail/imap/IMAPFolder$6.class
com/sun/mail/imap/IMAPFolder$19.class
com/sun/mail/imap/IMAPMessage.class
com/sun/mail/imap/IMAPSSLStore.class
com/sun/mail/imap/Rights.class
com/sun/mail/imap/DefaultFolder.class
com/sun/mail/imap/IMAPFolder$15.class
com/sun/mail/imap/IMAPFolder$7.class
com/sun/mail/imap/IMAPFolder$16.class
com/sun/mail/imap/protocol/
com/sun/mail/imap/protocol/IMAPAddress.class
com/sun/mail/imap/protocol/ListInfo.class
com/sun/mail/imap/protocol/SearchSequence.class
com/sun/mail/imap/protocol/SaslAuthenticator.class
com/sun/mail/imap/protocol/MessageSet.class
com/sun/mail/imap/protocol/Namespaces.class
com/sun/mail/imap/protocol/BASE64MailboxEncoder.class
com/sun/mail/imap/protocol/BODY.class
com/sun/mail/imap/protocol/ENVELOPE.class
com/sun/mail/imap/protocol/IMAPSaslAuthenticator.class
com/sun/mail/imap/protocol/Namespaces$Namespace.class
com/sun/mail/imap/protocol/IMAPProtocol.class
com/sun/mail/imap/protocol/MailboxInfo.class
com/sun/mail/imap/protocol/IMAPResponse.class
com/sun/mail/imap/protocol/BASE64MailboxDecoder.class
com/sun/mail/imap/protocol/Status.class
com/sun/mail/imap/protocol/Item.class
com/sun/mail/imap/protocol/UID.class
com/sun/mail/imap/protocol/IMAPSaslAuthenticator$1.class
com/sun/mail/imap/protocol/FetchResponse.class
com/sun/mail/imap/protocol/BODYSTRUCTURE.class
com/sun/mail/imap/protocol/INTERNALDATE.class
com/sun/mail/imap/protocol/RFC822DATA.class
com/sun/mail/imap/protocol/RFC822SIZE.class
com/sun/mail/imap/protocol/FLAGS.class
com/sun/mail/imap/protocol/UIDSet.class
com/sun/mail/imap/IMAPFolder$FetchProfileItem.class
com/sun/mail/imap/IMAPFolder$8.class
com/sun/mail/imap/Utility.class
com/sun/mail/imap/AppendUID.class
com/sun/mail/imap/IMAPFolder$4.class
com/sun/mail/imap/Utility$Condition.class
com/sun/mail/imap/IMAPFolder$17.class
com/sun/mail/imap/IMAPFolder$9.class
com/sun/mail/imap/SortTerm.class
com/sun/mail/imap/IMAPFolder$5.class
com/sun/mail/iap/
com/sun/mail/iap/CommandFailedException.class
com/sun/mail/iap/Argument.class
com/sun/mail/iap/ResponseHandler.class
com/sun/mail/iap/ConnectionException.class
com/sun/mail/iap/ResponseInputStream.class
com/sun/mail/iap/ProtocolException.class
com/sun/mail/iap/ByteArray.class
com/sun/mail/iap/AString.class
com/sun/mail/iap/Response.class
com/sun/mail/iap/LiteralException.class
com/sun/mail/iap/Literal.class
com/sun/mail/iap/ParsingException.class
com/sun/mail/iap/Atom.class
com/sun/mail/iap/Protocol.class
com/sun/mail/iap/BadCommandException.class
com/sun/mail/auth/
com/sun/mail/auth/MD4.class
com/sun/mail/auth/Ntlm.class
com/sun/mail/handlers/
com/sun/mail/handlers/multipart_mixed.class
com/sun/mail/handlers/text_plain.class
com/sun/mail/handlers/image_gif.class
com/sun/mail/handlers/text_plain$NoCloseOutputStream.class
com/sun/mail/handlers/text_html.class
com/sun/mail/handlers/text_xml.class
com/sun/mail/handlers/image_jpeg.class
com/sun/mail/handlers/message_rfc822.class
com/sun/mail/util/
com/sun/mail/util/PropUtil.class
com/sun/mail/util/BASE64EncoderStream.class
com/sun/mail/util/TraceOutputStream.class
com/sun/mail/util/UUDecoderStream.class
com/sun/mail/util/LineOutputStream.class
com/sun/mail/util/MailSSLSocketFactory$1.class
com/sun/mail/util/BEncoderStream.class
com/sun/mail/util/QPDecoderStream.class
com/sun/mail/util/QEncoderStream.class
com/sun/mail/util/LineInputStream.class
com/sun/mail/util/FolderClosedIOException.class
com/sun/mail/util/MailSSLSocketFactory$MailTrustManager.class
com/sun/mail/util/UUEncoderStream.class
com/sun/mail/util/SocketFetcher$1.class
com/sun/mail/util/QDecoderStream.class
com/sun/mail/util/QPEncoderStream.class
com/sun/mail/util/MimeUtil$1.class
com/sun/mail/util/MessageRemovedIOException.class
com/sun/mail/util/logging/
com/sun/mail/util/logging/LogManagerProperties.class
com/sun/mail/util/logging/LogManagerProperties$1.class
com/sun/mail/util/logging/MailHandler.class
com/sun/mail/util/logging/MailHandler$TailNameFormatter.class
com/sun/mail/util/MailSSLSocketFactory.class
com/sun/mail/util/SocketFetcher.class
com/sun/mail/util/MimeUtil.class
com/sun/mail/util/DecodingException.class
com/sun/mail/util/ASCIIUtility.class
com/sun/mail/util/TraceInputStream.class
com/sun/mail/util/BASE64DecoderStream.class
com/sun/mail/util/CRLFOutputStream.class
com/sun/mail/pop3/
com/sun/mail/pop3/AppendStream.class
com/sun/mail/pop3/POP3SSLStore.class
com/sun/mail/pop3/POP3Message.class
com/sun/mail/pop3/TempFile.class
com/sun/mail/pop3/Status.class
com/sun/mail/pop3/POP3Store.class
com/sun/mail/pop3/SharedByteArrayOutputStream.class
com/sun/mail/pop3/Response.class
com/sun/mail/pop3/DefaultFolder.class
com/sun/mail/pop3/WritableSharedFile.class
com/sun/mail/pop3/Protocol.class
com/sun/mail/pop3/POP3Folder.class
META-INF/mailcap
META-INF/gfprobe-provider.xml
META-INF/javamail.charset.map
META-INF/javamail.default.address.map
META-INF/LICENSE.txt
META-INF/javamail.default.providers
META-INF/maven/javax.mail/
META-INF/maven/javax.mail/mail/
META-INF/maven/javax.mail/mail/pom.xml
META-INF/maven/javax.mail/mail/pom.properties
META-INF/mailcap.default
META-INF/mimetypes.default
com/sun/activation/
com/sun/activation/registries/
com/sun/activation/registries/LineTokenizer.class
com/sun/activation/registries/LogSupport.class
com/sun/activation/registries/MailcapFile.class
com/sun/activation/registries/MailcapParseException.class
com/sun/activation/registries/MailcapTokenizer.class
com/sun/activation/registries/MimeTypeEntry.class
com/sun/activation/registries/MimeTypeFile.class
com/sun/activation/viewers/
com/sun/activation/viewers/ImageViewer.class
com/sun/activation/viewers/ImageViewerCanvas.class
com/sun/activation/viewers/TextEditor.class
com/sun/activation/viewers/TextViewer.class
javax/activation/
javax/activation/ActivationDataFlavor.class
javax/activation/CommandInfo.class
javax/activation/CommandMap.class
javax/activation/CommandObject.class
javax/activation/DataContentHandler.class
javax/activation/DataContentHandlerFactory.class
javax/activation/DataHandler$1.class
javax/activation/DataHandler.class
javax/activation/DataHandlerDataSource.class
javax/activation/DataSource.class
javax/activation/DataSourceDataContentHandler.class
javax/activation/FileDataSource.class
javax/activation/FileTypeMap.class
javax/activation/MailcapCommandMap.class
javax/activation/MimeType.class
javax/activation/MimeTypeParameterList.class
javax/activation/MimeTypeParseException.class
javax/activation/MimetypesFileTypeMap.class
javax/activation/ObjectDataContentHandler.class
javax/activation/SecuritySupport$1.class
javax/activation/SecuritySupport$2.class
javax/activation/SecuritySupport$3.class
javax/activation/SecuritySupport$4.class
javax/activation/SecuritySupport$5.class
javax/activation/SecuritySupport.class
javax/activation/URLDataSource.class
javax/activation/UnsupportedDataTypeException.class
javax/annotation/
javax/annotation/CheckForNull.class
javax/annotation/CheckForSigned.class
javax/annotation/CheckReturnValue.class
javax/annotation/Detainted.class
javax/annotation/MatchesPattern$Checker.class
javax/annotation/MatchesPattern.class
javax/annotation/Nonnegative$Checker.class
javax/annotation/Nonnegative.class
javax/annotation/Nonnull$Checker.class
javax/annotation/Nonnull.class
javax/annotation/Nullable.class
javax/annotation/OverridingMethodsMustInvokeSuper.class
javax/annotation/ParametersAreNonnullByDefault.class
javax/annotation/ParametersAreNullableByDefault.class
javax/annotation/PropertyKey.class
javax/annotation/RegEx$Checker.class
javax/annotation/RegEx.class
javax/annotation/Signed.class
javax/annotation/Syntax.class
javax/annotation/Tainted.class
javax/annotation/Untainted.class
javax/annotation/WillClose.class
javax/annotation/WillCloseWhenClosed.class
javax/annotation/WillNotClose.class
javax/annotation/concurrent/
javax/annotation/concurrent/GuardedBy.class
javax/annotation/concurrent/Immutable.class
javax/annotation/concurrent/NotThreadSafe.class
javax/annotation/concurrent/ThreadSafe.class
javax/annotation/meta/
javax/annotation/meta/Exclusive.class
javax/annotation/meta/Exhaustive.class
javax/annotation/meta/TypeQualifier.class
javax/annotation/meta/TypeQualifierDefault.class
javax/annotation/meta/TypeQualifierNickname.class
javax/annotation/meta/TypeQualifierValidator.class
javax/annotation/meta/When.class
javax/annotation/CheckForNull.java
javax/annotation/CheckForSigned.java
javax/annotation/CheckReturnValue.java
javax/annotation/Detainted.java
javax/annotation/MatchesPattern.java
javax/annotation/Nonnegative.java
javax/annotation/Nonnull.java
javax/annotation/Nullable.java
javax/annotation/OverridingMethodsMustInvokeSuper.java
javax/annotation/ParametersAreNonnullByDefault.java
javax/annotation/ParametersAreNullableByDefault.java
javax/annotation/PropertyKey.java
javax/annotation/RegEx.java
javax/annotation/Signed.java
javax/annotation/Syntax.java
javax/annotation/Tainted.java
javax/annotation/Untainted.java
javax/annotation/WillClose.java
javax/annotation/WillCloseWhenClosed.java
javax/annotation/WillNotClose.java
javax/annotation/concurrent/GuardedBy.java
javax/annotation/concurrent/Immutable.java
javax/annotation/concurrent/NotThreadSafe.java
javax/annotation/concurrent/ThreadSafe.java
javax/annotation/meta/Exclusive.java
javax/annotation/meta/Exhaustive.java
javax/annotation/meta/TypeQualifier.java
javax/annotation/meta/TypeQualifierDefault.java
javax/annotation/meta/TypeQualifierNickname.java
javax/annotation/meta/TypeQualifierValidator.java
javax/annotation/meta/When.java
org/slf4j/
org/slf4j/helpers/
org/slf4j/helpers/BasicMarker.class
org/slf4j/helpers/BasicMarkerFactory.class
org/slf4j/helpers/BasicMDCAdapter.class
org/slf4j/helpers/MarkerIgnoringBase.class
org/slf4j/helpers/MessageFormatter.class
org/slf4j/helpers/NamedLoggerBase.class
org/slf4j/helpers/NOPLogger.class
org/slf4j/helpers/NOPMakerAdapter.class
org/slf4j/helpers/SubstituteLoggerFactory.class
org/slf4j/helpers/Util.class
org/slf4j/ILoggerFactory.class
org/s
4

1 回答 1

3

NoClassDefFoundError的重复: org/slf4j/impl/StaticLoggerBinder

问题是您依赖于 slf4j api 而不是 slf4j 实现。

于 2012-06-04T20:08:42.623 回答