主目录不可访问:权限被拒绝java.lang.IllegalArgumentException:没有与接口SourceDataLine匹配的行

主目录不可访问:权限被拒绝java.lang.IllegalArgumentException:没有与接口SourceDataLine匹配的行,java,tomcat,ubuntu,java-8,javasound,Java,Tomcat,Ubuntu,Java 8,Javasound,我正在尝试玩一个在线游戏 我的操作系统:Ubuntu 14.04。Java版本:8 在我的机器上,当我从独立的java应用程序运行代码时,它会播放文件 但当我从Tomcat中运行的代码调用此代码时,我得到以下异常: Home directory not accessible: Permission denied java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting form

我正在尝试玩一个在线游戏

我的操作系统:Ubuntu 14.04。Java版本:8

在我的机器上,当我从独立的java应用程序运行代码时,它会播放文件

但当我从Tomcat中运行的代码调用此代码时,我得到以下异常:

Home directory not accessible: Permission denied
java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian is supported.
    at javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:479)
Tomcat作为一种服务在我的机器上运行


为什么它不能在Tomcat上工作?

尝试执行
sudo chown-R'username':'username'/home/'username'
,然后使用
pavucontrol
取消输出静音。
可以找到更多信息

为什么您认为这样做是个好主意?我的家中有很多地方都归root所有。“在我的机器上,当我从一个独立的java应用程序运行代码时,它确实会播放文件。但是当我从运行在Tomcat中的代码调用此代码时,……等等……什么?那是服务器吗?如果有人可以从您的网络外部连接到服务器,您希望在哪里听到声音?服务器机器还是客户端机器?@Andrew Thompson我希望音频文件能在服务器机器上播放。就像将文本发送到标准输出一样。但当我测试它时,服务器机器是我的本地机器。服务器通常运行“无头”,这意味着它们没有监视器和扬声器。。检查Tomcat是否在headless模式下运行。@Andrew Thompson我已将Tomcat的设置更改为
JAVA_OPTS=“-Djava.awt.headless=false…
,但仍然是相同的异常。