我正在使用Gradle来获取Batik(一个SVG库)并开箱即用,它缺少一些传递库.我应该放哪一个?
我已经尝试过获取xml-api或Xerces lib
摇篮:
version = 1.0
mainClassName = 'com.foilen.svgexporter.SvgExporter'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
dependencies {
compile 'args4j:args4j:2.32'
compile 'org.apache.xmlgraphics:batik-rasterizer:1.8'
}
Run Code Online (Sandbox Code Playgroud)
Java代码:
PNGTranscoder transcoder = new PNGTranscoder();
InputStream in = new FileInputStream("character_man_black.svg");
TranscoderInput input = new TranscoderInput(in);
OutputStream ostream = new FileOutputStream("character_man_black.png");
TranscoderOutput output = new TranscoderOutput(ostream);
transcoder.transcode(input, output);
// Flush and close the output.
ostream.flush();
ostream.close();
in.close();
Run Code Online (Sandbox Code Playgroud)
执行错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367) …
Run Code Online (Sandbox Code Playgroud) 我做了一个小的测试 php 脚本,它会发送这样的电子邮件:
$headers = 'From: ' . $_POST["from"];
if (mail ($_POST["to"], $_POST["subject"], $_POST["body"], $headers)) {
echo "Mail sent";
} else {
echo "Problem sending email";
}
Run Code Online (Sandbox Code Playgroud)
这在带有 Postfix 的服务器上运行良好。
尝试使用 msmtp 时,它会忽略 From 并抱怨:
msmtp:来自 /etc/msmtprc 的帐户默认值:缺少信封发件人地址
配置文件的内容是:
# cat /etc/msmtprc
account default
host localhost
port 25
Run Code Online (Sandbox Code Playgroud)
我试图在该文件中设置一个 from 并且它起作用了,但是覆盖了我在 php.ini 中传递的 From 。
谢谢你的帮助