java连接远程服务器上的OpenOffice被拒绝 connection failed

在网上搜了一大堆,启动方式都是:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

这种方式启动只能本地连接。


如果想通过java远程连接OpenOffice,

##在启动OpenOffice时,将host=的ip地址写为0.0.0.0就可以通过java远程连接了

在这里插入图片描述

然后通过java程序去连接:
依赖:

        <dependency>
            <groupId>com.artofsolving</groupId>
            <artifactId>jodconverter</artifactId>
            <version>2.2.1</version>
        </dependency>

@Test
	public void conn() {
		OpenOfficeConnection connection=new SocketOpenOfficeConnection("192.168.25.174",8100);
		try {
			System.err.println("开启连接");
			connection.connect();
			System.err.println("连接成功");
		} catch (Exception e) {
			String string=e.getMessage();
			System.out.println("连接失败");
			System.err.println(string);
			// TODO: handle exception
		}
	}

在这里插入图片描述
连接成功`~~~~~~

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在Linux上使用Java远程访问OpenOffice,可以使用OpenOffice API和Java远程方法调用(Java RMI)。 以下是一个简单的步骤指南: 1.安装OpenOffice 2.启动OpenOffice服务 3.编写Java代码来连接OpenOffice服务并执行所需的操作 4.使用Java RMI将Java代码部署到远程Linux服务器 以下是一个简单的Java代码示例,用于连接OpenOffice服务并打开一个文档: ``` import com.sun.star.bridge.XBridgeFactory; import com.sun.star.bridge.XUnoUrlResolver; import com.sun.star.comp.helper.Bootstrap; import com.sun.star.connection.XConnection; import com.sun.star.connection.XConnector; import com.sun.star.frame.XComponentLoader; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.util.XCloseable; public class OpenOfficeClient { public static void main(String[] args) { try { // get the remote service manager String oooUrl = "uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager"; XComponentContext remoteContext = Bootstrap.createInitialComponentContext(null); XMultiComponentFactory remoteServiceManager = remoteContext.getServiceManager(); Object urlResolver = remoteServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", remoteContext); XUnoUrlResolver resolver = (XUnoUrlResolver) UnoRuntime.queryInterface(XUnoUrlResolver.class, urlResolver); Object initialObject = resolver.resolve(oooUrl); XConnection xCon = (XConnection) initialObject; XConnector xConnector = (XConnector) UnoRuntime.queryInterface(XConnector.class, xCon); XConnection connection = xConnector.connect(oConnectionProperties); XBridgeFactory xBridgeFactory = (XBridgeFactory) UnoRuntime.queryInterface(XBridgeFactory.class, remoteServiceManager.createInstanceWithContext("com.sun.star.bridge.BridgeFactory", remoteContext)); XComponentContext localContext = Bootstrap.createInitialComponentContext(null); XMultiComponentFactory localServiceManager = localContext.getServiceManager(); Object bridgeObject = xBridgeFactory.createBridge("", "urp", XBridgeFactory.LEAST_LATENCY); XConnection bridgeConnection = ((com.sun.star.bridge.XBridge) UnoRuntime.queryInterface(com.sun.star.bridge.XBridge.class, bridgeObject)).getConnection(); bridgeConnection.setProtocol("socket,host=localhost,port=8100"); XComponentContext context = (XComponentContext) UnoRuntime.queryInterface(XComponentContext.class, localServiceManager.createInstanceWithContext("com.sun.star.uno.util.Bootstrap", localContext)); Object desktop = localServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", context); XComponentLoader loader = (XComponentLoader) UnoRuntime.queryInterface(XComponentLoader.class, desktop); Object document = loader.loadComponentFromURL("private:factory/swriter", "_blank", 0, new PropertyValue[0]); } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,这是一个简单的示例。要在实际应用程序中使用OpenOffice API,您需要更多的代码来实现所需的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值