Erro no Upload de arquivos usando MyFaces Trinidad <tr:uploadFile

Caros, estou usando o Myfaces Trinidad para fazer upload de arquivo. Mais uma vez já procurei muito na net e não encontrei uma possível solução para meu problema. O que acontece é que quando eu passo o caminho através do comando sc.getRealPath("/arquivos") o sistema passa um caminho relativo e ocorre erro. Quando passo o caminho real “E:/eclipse/workspace/ControleRelatorio/WebContent/arquivos” não ocorre erro. Vejam o código abaixo:

	public String salvar()
	{
		try
		{
			FacesContext context = FacesContext.getCurrentInstance();

			// pega informações do contexto para
			// conseguir o caminho físico
			// necessário para fazer o upload de arquivo
			ServletContext sc = (ServletContext) context.getExternalContext()
					.getContext();

			// verifica se há um arquivo para salvar
			if (arquivo != null) 
			{
				InputStream stream = arquivo.getInputStream();

				int fSize = (int) arquivo.getLength();
				byte[] buffer = new byte[(int) fSize];
				String nomeArquivo = this.separaNomeArquivo(arquivo
						.getFilename());

				System.out.println(arquivo.getFilename());
				
				// chama o método que salva o arquivo
				Boolean salvarImagem = this.salvarArquivo(buffer, 
						                                  stream,
						                                  nomeArquivo, 
						                                  fSize, 
						                                  sc.getRealPath("/arquivos")); 

				if (!salvarImagem) 
				{
					FacesUtils.mensErro("Problema no upload do arquivo");
				}

				//tirar comentario
				
				relatorioDados.setRel_ArquivoRdlNome(nomeArquivo);
				
				File file = new File(sc.getRealPath("/arquivos") + "/" + nomeArquivo);
				relatorioDados.setRel_ArquivoRdl(file);

			}
			
			if (relatorioDados.getRel_Id() == null)
			{
				relatorioDadosDao.salvar(relatorioDados);
				this.novoRelatorioDados();
				FacesUtils.mensInfo("Relatorio gravado com sucesso.");
			}
			else
			{
				relatorioDadosDao.atualizar(relatorioDados);
				FacesUtils.mensInfo("Relatorio atualizado com sucesso.");
			}
		}
		catch(Exception e)
		{
			FacesUtils.mensErro("Ocorreu um erro ao gravar o relatorio.");
			e.printStackTrace();
		}
		
		return "sucesso";
		
	}

Agora, vejam a parte onde o arquivo é aberto, e é onde ocorre o erro:

	public boolean salvarArquivo(byte[] buf, 
			                     InputStream stream,
			                     String nomeArquivo, 
			                     int size, 
			                     String path)
			throws FileNotFoundException, IOException 
	{
		nomeArquivo = this.separaNomeArquivo(nomeArquivo);

		File file = new File(path + "/" + nomeArquivo);

		
		FileOutputStream output = new FileOutputStream(file); //aqui ocorre o ERRO, não encontra o arquivo no caminho especificado
		
		try 
		{
			while (true) 
			{
				int count = stream.read(buf, 0, size);
				if (count == -1)
					break;
				output.write(buf, 0, count);

			}
		}
        catch (Exception ex) 
        {
			ex.printStackTrace();
			return false;
		}

		finally 
		{
			output.flush();
			output.close();
			stream.close();
		}
		return true;
		
	}

Alguém pode me ajudar. Obrigado…